会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
断了线的风筝~
博客园
首页
新随笔
联系
管理
订阅
2019年6月28日
非线程安全的类-SimpleDateFormat
摘要: 类SimpleDateFormat主要负责日期的转换与格式化,但在多线程的环境中,使用此类容易造成数据转换及处理的不正确,因为SimpleDateFormat并不是线程安全的,我们看一段代码: 运行结果: ThreadName=Thread-5报错了 日期字符串:2000-01-06 转换成的日期为
阅读全文
posted @ 2019-06-28 15:17 断了线的风筝~
阅读(162)
评论(0)
推荐(0)
2019年6月26日
ReentrantLock
摘要: 1.ReentrantLock概述 在java多线程中,可以使用synchronized关键字来实现线程之间同步互斥,但在JDK1.5中增加了ReentrantLock也能达到同样的效果,并且在扩展功能上也更加强大,而且使用上更加灵活。 使用ReentrantLock实现生产者消费者: 运行结果:
阅读全文
posted @ 2019-06-26 15:50 断了线的风筝~
阅读(145)
评论(0)
推荐(0)
2019年6月20日
join()方法的使用
摘要: 1.join()方法介绍 join():使所属的线程对象x正常执行run()方法中的任务,而使当前线程z进行无限期的阻塞,等待线程x销毁后再继续执行z后面的代码。 join(long):等待一定时间。 在join过程中,如果当前线程被中断,则当前线程出现异常,但join所属的线程继续运行。 join
阅读全文
posted @ 2019-06-20 17:11 断了线的风筝~
阅读(383)
评论(0)
推荐(0)
2019年6月19日
synchronized关键字
摘要: 介绍synchronized关键字之前有必要阐述一下线程安全的概念。“非线程安全”会在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的后果就是“脏读”,也就是取到的数据其实是被更改过的,如果是方法内部的私有变量不存在“非线程安全”的问题;而“线程安全”就是获得的实例变量的值是经过同步处理的
阅读全文
posted @ 2019-06-19 17:51 断了线的风筝~
阅读(133)
评论(0)
推荐(0)
voliatle关键字
摘要: 1.volatile关键字使用: 多线程中存在私有堆栈中的值和公共堆栈中的值不同步的问题。什么意思呢?可能线程在一个地方修改了内存中变量的值,而其它地方线程却从私有堆栈中去读取不一致的变量值。关键字volatile 的主要作用是使在多个线程上可见。也就是,强制从公共堆栈中取得变量的值,而不是从线程私
阅读全文
posted @ 2019-06-19 16:32 断了线的风筝~
阅读(391)
评论(0)
推荐(0)
2019年6月18日
一.线程概述
摘要: 1.进程和线程的概念 进程:进程是操作系统结构的基础;是一次程序的执行;是一个程序及其数据在处理机上顺序执行时所发生的活动;是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位;进程是受操作系统管理的基本运行单元。 线程:可以理解成是在进程中独立运行的子任务;使用多线程也就是在
阅读全文
posted @ 2019-06-18 13:45 断了线的风筝~
阅读(154)
评论(0)
推荐(0)
2017年7月18日
NIO demo
摘要: 使用NIO编程的优点: 1.客户端发起的连接操作是异步的,可以通过在多路复用器注册OP_CONNECT等待后续结果,不需要像之前的客户端那样被同步阻塞. 2.SocketChannel的读写操作都是异步的,如果没有可读写的数据它不会同步等待,直接返回,这样I/O通信线程就可以处理其他的链路,不需要同
阅读全文
posted @ 2017-07-18 14:36 断了线的风筝~
阅读(215)
评论(0)
推荐(0)
同步阻塞I/O
摘要: TimeServer: TimeServerHandler: TimeClient: BIO主要的问题在于每当一个新的客户端请求连接时,服务器必须创建一个新的线程处理新接入的客户端链路,一个线程只能处理一个客户端连接。在高性能服务器应用领域,往往需要面向成千上万个客户端的并发连接,这种模型显然无法满
阅读全文
posted @ 2017-07-18 11:58 断了线的风筝~
阅读(155)
评论(0)
推荐(0)
2017年5月18日
Ubuntu16.04.1 安装Nginx
摘要: 一.安装Nginx依赖库 1.安装gcc g++的依赖库 2.安装pcre依赖库 3.安装zlib依赖库 4.安装ssl依赖库 5.安装Nginx 二.Nginx常用命令 1.启动Nginx 2.停止Nginx 3.Nginx重新加载配置 4.指定配置文件 5.查看Nginx版本 6.检查文件是否正
阅读全文
posted @ 2017-05-18 11:46 断了线的风筝~
阅读(394)
评论(0)
推荐(0)
2017年4月7日
垃圾收集
摘要: 对象已死吗? 1.引用计数算法(虚拟机并没有使用) 给对象中添加一个引用计数器,每当有一个地方应用它时,计数器值就加1;当引用失败时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。但是它很难解决对象之间相互循环引用的问题。 2.可达性分析算法 通过一系列的称为“GC Roots”的对
阅读全文
posted @ 2017-04-07 16:13 断了线的风筝~
阅读(186)
评论(0)
推荐(0)
下一页
公告