![](https://img-blog.csdnimg.cn/20200518210157125.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 61
Java
食鱼酱
一只努力向上的程序员
展开
-
线程池原理(JDK1.8)
Java中的线程池ThreadPoolExecutor是线程池类。对于线程池,可以通俗的将它理解为”存放一定数量线程的一个线程集合。线程池允许若个线程同时允许,允许同时运行的线程数量就是线程池的容量;当添加的到线程池中的线程超过它的容量时,会有一部分线程阻塞等待。线程池会通过相应的调度策略和拒绝策略,对添加到线程池中的线程进行管理。组成(这部分转自线程池原理——skywang12345)...原创 2018-08-06 16:30:37 · 656 阅读 · 0 评论 -
《Java并发编程的艺术》笔记-2(Java内存模型)
同步是指程序中用于控制不同线程间操作发生相对顺序的机制。在共享内存并发模型里,同步是显式进行的。程序员必须显式指定某个方法或某段代码需要在线程之间互斥执行。在消息传递的并发模型里,由于消息的发送必须在消息的接收之前,因此同步是隐式进行的。1、Java的并发采用的是共享内存模型,Java线程之间的通信总是隐式进行,整个通信过程对程序员完全透明。2、在Java中,所有实例域、静原创 2018-02-08 15:18:21 · 241 阅读 · 0 评论 -
《Java并发编程的艺术》笔记-1(对象头,锁)
《Java并发编程的艺术》的读书笔记,内容主要为Java对象头,锁相关如偏向锁、轻量级锁等原创 2018-02-08 11:05:59 · 266 阅读 · 0 评论 -
《Java多线程编程核心技术》笔记-2
第二章 多线程技能 1、方法中的变量不存在“非线程安全”问题。2、关键字synchronized取得的锁都是对象锁,而不是把一段代码或方法当作锁。3、A线程先持有object对象的锁,B线程可以以异步的方式调用object对象中非synchronized类型的方法,但如果B对象在这时调用object对象中synchronized类型的方法则需要等待,也就是同步。4、关键字synchr原创 2018-01-01 18:56:03 · 229 阅读 · 0 评论 -
Java多线程中停止线程的方法
最近在学习Java的多线程技术,发现interrupt()方法的并不能中断线程,然后对相关资料进行了查阅。原创 2017-12-26 16:00:34 · 334 阅读 · 0 评论 -
《Java多线程编程核心技术》笔记-1
阅读《Java多线程核心技术》的学习笔记原创 2017-12-25 10:15:14 · 219 阅读 · 0 评论 -
SpringBoot启动时报Unable to start embedded container; nested exception is org.springframework.context...
SpringBoot启动时报异常如图: 原因:启动类没加@SpringBootApplication原创 2018-07-11 21:13:20 · 9828 阅读 · 2 评论 -
Springboot集成Elasticsearch简单教程
一、前言java操作elasticsearch是作为一个无数据节点与其他节点之间通信,端口是9300.elasticsearch和jdk版本一定要适配,因为elasticsearch是用java编写的,随着版本的升级,用的也是最新版的jdk,所以低版本的jdk就和最新elasticsearch版本不匹配。但是,高版本的jdk可以向下兼容低版本的elasticsearch,因为jdk在升级的过程...转载 2018-05-20 17:22:31 · 928 阅读 · 0 评论 -
Spring boot中导出可用WAR包的方法
SpringBoot中导出能在服务器上运行的war包的方法,本文章由网络上内容总结得出,如有侵权请联系本人删除。转载 2017-12-19 11:08:22 · 5385 阅读 · 0 评论 -
Spring加载Bean的流程(源码分析)
版本4.3.10入口public class Application { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml"); Person person = c...原创 2018-08-06 10:23:47 · 934 阅读 · 0 评论 -
Spring解密 - Bean的加载流程(讲得很棒)
本章将详细讲解Spring中Bean的加载过程,相比解析而言,加载稍微复杂一点.。Spring入口public class Application { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("...转载 2018-08-04 10:47:47 · 9351 阅读 · 1 评论 -
Java8的十大新特性
一、Lambda表达式Lambda表达式可以说是Java 8最大的卖点,她将函数式编程引入了Java。Lambda允许把函数作为一个方法的参数,或者把代码看成数据。一个Lambda表达式可以由用逗号分隔的参数列表、–>符号与函数体三部分表示。例如:Arrays.asList( “p”, “k”, “u”,”f”, “o”, “r”,”k”).forEach( e -> Sy...转载 2018-07-31 19:58:39 · 195 阅读 · 0 评论 -
Mybatis中的#{}和${}区别
#{}表示一个占位符号,通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换。#{}可以有效防止sql注入。 #{}可以接收简单类型值或pojo属性值。 如果parameterType传输单个简单类型值,#{}括号中可以是value或其它名称。${}表示拼接sql串,通过${}可以将parameterType 传入的内容拼接在sql中且不...转载 2018-07-28 15:54:10 · 760 阅读 · 0 评论 -
Java8新特性-Lambda表达式
1、什么是Lambda表达式百闻不如一见,先看一个Demopublic void tes1() throws Exception { //用匿名内部类实现Runnable接口 Runnable r1 = new Runnable() { public void run() { System.out.println("Hello Wo...原创 2018-07-23 10:36:39 · 244 阅读 · 0 评论 -
Java基础小知识笔记(自己努力常更新)
1、基本数据类型及所占用的空间 byte(8bit)、short(16bit)、int(32bit)、long(64bit)、float(32bit)、double(64bit)、char(16bit)、boolean(各有各的说法) float当数值非常大或者非常小的时候会变得不精确,所以尽量不要用在if判断中 如果double和float都无法达到想要的精度,可以使用BigDecimal...原创 2017-12-21 21:27:52 · 232 阅读 · 0 评论 -
设计模式-观察者模式
观察者模式,定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。被观察者与观察者的关系,就如同报社与订报纸用户之间的关系: 1)报社的业务就是出版报纸。 2)用户向报社订阅报纸。(register) 3)每当有新报纸出版,报社就会将报纸送来。(notify) 4)当用户不想再看报纸的时候,可以向报社要求取消业务。(remove)被观察者(Obse...原创 2018-02-19 22:40:08 · 224 阅读 · 0 评论 -
[Socket编程] 用Java实现简单的服务器
运用Socket技术,实现一个简单的服务器。 下面是代码:import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;public class SocketServer { public static void main(...原创 2018-03-08 11:50:07 · 2012 阅读 · 0 评论 -
GC相关算法与收集器
1、存活判定算法引用计算算法,给对象添加一个引用计数器,每一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。(主流JVM里没有选用,主要原因是它很难解决对象间相互引用的问题)可达性分析算法,主要思想就是通过一系列称为“CG Roots”的对象作为起始点,从这些节点开始向下搜索,搜索走过的路径称为引用链,当一个对象到CG Roots原创 2018-01-24 21:31:05 · 241 阅读 · 0 评论 -
多线程之生产者/消费者模式(值操作)
1、一个生产者,一个消费者(值操作) 本小节是典型的单个生产者,单个消费者,生产对象为值的Demo 如下,我们假设ValueObject .value为生产的值,当value的值为 “”(空串)时,我们认为生产出来的对象已被消费,当value的值不为空串时,我们认为生产出来的对象未被消费。public class ValueObject { public static Stri原创 2018-01-07 14:14:39 · 3725 阅读 · 1 评论