- 博客(14)
- 收藏
- 关注
原创 2021-10-29
Java并发编程(一)线程创建、生命周期、控制这篇文章我们提到过Future可以实现异步编程,但是Future模式有自己的缺点:Future虽然可以实现获取异步执行结果的需求,但是它没有提供通知的机制,我们无法得知Future什么时候完成。要么使用阻塞,在future.get()的地方等待future返回的结果,这时又变成同步操作。要么使用isDone()轮询地判断Future是否完成,这样会耗费CPU的资源。//定义一个异步任务Future future = executor.submit(()-
2021-10-29 16:24:05
299
转载 2021-06-22
```java```java```java```java```cpp```cpp```cpp```cpp```cpp```javaJDK内置的Future主要使用到了Callable接口和FutureTask类。Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其他线程执行的任务。Callable接口可以看作是Runnable接口的补充,Callbale含有泛型,相比Runnable接口的run()方法,cal.
2021-06-22 23:26:01
148
转载 2021-06-22
ListenalbeFuture的使用总结为了提高任务处理速度,我们经常会将一些可并行处理的步骤用异步的方式去处理,如果想要获取异步计算的结果,在Java 8之前更多的用的是Future + Callable的方式来实现,下面是使用Future和Callable的一个demo,其中的是executor.submit()方法实际返回的就是FutureTask的实例,另外Future的get方法会一直阻塞直至获取结果。public class FutureTest {public static void
2021-06-22 23:20:09
995
原创 微服务
什么是SpringBoot?1、用来简化spring初始搭建和开发过程使用特定的方式进行配置(properties或者yml文件)2、创建独立的spring引用程序main方法运行3、嵌入Tomcat无需部署war包,直接打成jar包nohup java -jar – & 启动就好4、简化了maven的配置4、自动配置spring添加对应的starter自动化配置SpringBoot常用的starter:1、spring-boot-starter-web(嵌入Tomcat和web开发需
2021-03-04 15:31:56
215
1
转载 SpringBoot常见问题
1. @SpringBootApplication注释在内部有什么用处?作为Spring引导文档,@SpringBootApplication注释等同于同时使用@Configuration、@EnableAutoConfiguration和@ComponentScan及其默认属性。Spring Boot允许开发人员使用单个注释而不是多个注释。但是,众所周知,Spring提供了松散耦合的特性,我们可以根据项目需要为每个注释使用这些特性。2. 如何在不使用BasePACKAGE过滤器的情况下排除程序包?
2020-05-28 17:21:27
293
转载 MyBatis查询结果resultType返回值类型详细介绍
一、返回一般数据类型比如要根据 id 属性获得数据库中的某个字段值。mapper 接口: // 根据 id 获得数据库中的 username 字段的值 String getEmpNameById(Integer id);12SQL 映射文件: <!-- 指定 resultType 返回值类型时 String 类型的, ...
2020-04-29 23:25:28
1109
原创 springmvc工作流程
工作流程前端控制器(DispacherServlet):负责转发请求,接受用户的请求,申请处理后,将响应返回给客户处理器映射器(HandlerMapping):前端控制器把请求转发给处理器映射器。处理器映射器根据请求中的URL,找到对应的Handler(相当于struts2的Action),返回给前端控制器。处理器适配器(HandlerAdapter):前端控制器知道要执行哪个Hand...
2020-04-03 20:02:36
193
转载 数据库连接池
一、应用程序直接获取数据库连接的缺点用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、拓机。如下图所示:二、使用数据库连接池优化程序性能2.1、数据库连接池的基本概念数据库连接是一种关键的有限的昂贵的资源,这一点在多...
2020-03-26 22:30:23
230
转载 java内存模型
java内存模型(Java Memory Model,JMM)是java虚拟机规范定义的,用来屏蔽掉java程序在各种不同的硬件和操作系统对内存的访问的差异,这样就可以实现java程序在各种不同的平台上都能达到内存访问的一致性。可以避免像c++等直接使用物理硬件和操作系统的内存模型在不同操作系统和硬件平台下表现不同,比如有些c/c++程序可能在windows平台运行正常,而在linux平台却运行有...
2020-03-19 23:28:44
199
转载 Class详解
Class类简介 在java世界里,一切皆对象。从某种意义上来说,java有两种对象:实例对象和Class对象。每个类的运行时的类型信息就是用Class对象表示的。它包含了与类有关的信息。其实我们的实例对象就通过Class对象来创建的。Java使用Class对象执行其RTTI(运行时类型识别,Run-Time Type Identification),多态是基于RTTI实现的。 每一个...
2020-03-17 21:51:46
684
原创 JAVA对象模型
我们经常使用的类,对象实际在JVM中是以何种方式存在的呢?我们都知道类编译后会形成一个class文件,那么class文件什么时候加载到内存呢?这就涉及到了类的初始化,其实有5种情况下会触发类的初始化: 1. 创建类的实例 2. 调用类的静态方法 3. 使用反射进行反射调用的时候,如果类没有初始化,则需要先触发其初始化(Class.newInstance方法就是调用的默...
2020-03-17 18:30:08
214
转载 JVM内存结构和java内存模型
Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模型和Java对象模型,这就是三个截然不同的概念,但是很多人容易弄混。可以这样说,很多高级开发甚至都搞不不清楚JVM内存结构、Java内存模型和Java对象模型这三者的概念及其间的区别。甚至我见过有些面试官自己也搞...
2020-03-14 14:57:10
192
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅