自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mathlpz126的博客

一个小菜鸟的奋斗史

  • 博客(13)
  • 资源 (6)
  • 收藏
  • 关注

原创 java高并发程序设计学习笔记十一jetty分析

Jetty吞吐量高性能服务器Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。Jetty目前的是一个比较被

2017-10-28 23:09:02 497

原创 java高并发程序设计十并发调试和JDK8新特性

多线程调试方法:使用eclipse的debugger,设置多线程的调试条件等,观察;线程dump及分析:使用jps;jstack pid;jstack -l pid;查看dump日志;JDK8对并发的新支持:LongAdder累加器,类似AtomicInteger的使用方法;在AtomicInteger上进行了热电分离;add(long x),inc

2017-10-28 15:58:18 371

原创 java高并发程序设计学习笔记九锁的优化和注意事项

锁优化的思路和方法:减少锁持有时间:减少其他线程等待时间,只同步需要同步的相关的代码;减少锁粒度:将大对象拆成小对象,增加并行度,降低锁竞争;偏向锁,轻量级锁成功率提高;ConcurrentHashMap;锁分离:根据功能进行锁分离;ReadWriteLock;读多写少的情况,可提高性能;读写分离思想延伸,只要操作互不影响,锁就可以分离;Linked

2017-10-28 11:45:18 216

原创 java高并发程序设计学习笔记八BIO、NIO和AIO

什么事NIO?New I/O简称,与旧式的基于流的I/O方法相对,表示一套新的I/O标准;jdk1.4引入的;NIO是基于块(Block)的,以块为基本单位处理数据,传统I/O基于字节(Byte)的;性能比流好些;为所有原始类型提供(Buffer)缓存支持;增加通道(Channel)对象,作为新的I/O抽象,类似旧式的Stream;支持文件锁,和内存映射文件的文件访问接口;使用

2017-10-26 22:03:49 240

原创 java高并发程序设计学习笔记七并发设计模式

一、什么是设计模式在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人在1990年代从建筑设计领域引入到计算机科学的。《 设计模式:可复用面向对象软件的基础》 收录 23种模式:观察者模式 、策略模式 、装饰者模式 、享元模式 、模板方法 架构模式:M

2017-10-23 22:36:59 222

原创 WEB安全测试要点总结

一、大类检查点:大类细项上传功能绕过文件上传检查功能上传文件大小和次数限制注册功能注册请求是否安全传输注册时密码复杂度是否后台检验激活链接测试重复注册批量注册问题登录功能

2017-10-23 19:27:09 26946 5

原创 java高并发程序设计学习笔记五六JDK并发包

1、各种同步控制工具的使用1.1 ReentrantLock它是synchronized的增强版,sync功能简单,把多余的线程放入等待区,这些线程只能死等;写法上有区别;synchronized也是可重入的(它拥有强制原子性的内置锁机制,是一个重入锁,所以在使用synchronized时,当一个线程请求得到一个对象锁后再次请求此对象锁,可以再次得到该对象锁,就是说在一个synchroni

2017-10-17 22:11:58 274

原创 java高并发程序设计学习笔记四无锁

1、无锁类的原理详解1.1 CASCAS算法的过程是这样:它包含3个参数CAS(V,E,N)。V表示要更新的变量,E表示预期值,N表示新值。仅当V值等于E值时,才会将V的值设为N。如果V值和E值不同,则说明已经有其他线程做了更新,则当前线程什么都不做。最后,CAS返回当前V的真实值。CAS操作是抱着乐观的态度进行的,它总是认为自己可以成功完成操作。当多个线程同时使用CAS操作一

2017-10-17 21:51:53 181

原创 java高并发程序设计学习笔记三内存模型线程安全

1、原子性原子性是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其它线程干扰。 CPU指令一般认为是原子操作。i++ 不是原子操作!它至少包含两个操作,一个是读,一个是++计算操作,一个将数据再写回i中。32位操作系统读long型数据不是原子操作,读32位整形是原子操作。2、有序性计算机在执行你的代码时,不一定按你写的顺序执行。一条指

2017-10-16 22:34:26 258

原创 jstack使用和线程堆栈dump分析

查看java进程的pid:查看并dump出线程堆栈信息,在DOS窗口中显示:或者直接将日志信息输出到文件(管理员身份):-l long listings,会打印出额外的锁信息,在发生死锁时可以用jstack -l pid来观察锁持有情况-m mixed mode,不仅会输出Java堆栈信息,还会输出C/C++堆栈信息(比如Native方法)

2017-10-15 21:06:15 8730

原创 java高并发程序设计学习笔记二多线程基础

一、什么是线程一个进程可包含多个线程;进程是重量级的,开关比较消耗资源;windows中可指定进程的线程分配到哪个CPU上执行;二、线程的基本操作1、几种状态:new - runnable(供物理CPU调度执行)- terminated - blocked - waiting - timed waiting2、创建线程两种方式:继承Thread类;实现Runnable接口3、T

2017-10-15 12:55:10 206

原创 java高并发程序设计学习笔记一前言

一、前言1、为什么需要并行?-业务需求(业务上需要一个逻辑单元,多个线程并行执行,例如JVM虚拟机;GC线程、main线程、业务线程等);-性能(本课程主要探讨原因,多线程性能更好,是相对的;在多核CPU上确实性能很好,服务端编程提高性能);并行代码比串行代码复杂很多;Linus torvalids:并行计算主要在图像处理和服务端编程2个领域使用;-摩尔定律失效:预计18个

2017-10-15 11:27:07 269

转载 linux查找所有文件中某个字符串

查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "IBM" -l (1)find命令的一般形式       find pathname -options [-print -exec -ok]       pa

2017-10-14 21:21:38 17215

centos7&&gcc&&g++离线安装包-亲测可用.zip

亲测可用,欢迎大家免费下载,很好的资源,centos,gcc,libmpc,glibc-headers,libstdc++-devel

2020-06-24

八位二进制与十进制、十六进制对照表.doc

八位二进制与十进制、十六进制对照表.doc,方便项目中排查使用,下载后对比查看。 本人亲自整理验证,查看无误可用。供大家下载使用

2019-05-31

中国移动短信网关通讯协议CMPP2.0.doc

中国移动短信网关通讯协议CMPP2.0 中国移动短信网关通讯协议CMPP2.0

2019-05-31

互联网短信网关接口CMPP协议(V3.0.0).doc

互联网短信网关接口CMPP协议(V3.0.0).doc

2019-05-31

jdk1.7.0_80_lpz.zip

jdk1.7.0_80_lpz.zip,JDK1.7的源码包,注意多阅读源码,提高技术平能力,做大牛!!!

2018-04-11

jdk1.8.0_144的源码包

jdk1.8.0_144的源码包,不要积分既可以下载!多学习源码技术,多多学习交流,谢谢!

2018-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除