博客专栏  >  编程语言   >  java开源研究

java开源研究

主要研究java相关的开源项目,如jdk,tomcat及其他开源软件

关注
44 已关注
99篇博文
  • 多线程并发之java内存模型JMM

    多线程概念的引入是人类又一次有效压寨计算机的体现,而且这也是非常有必要的,因为一般运算过程中涉及到数据的读取,例如从磁盘、其他系统、数据库等,CPU的运算速度与数据读取速度有一个严重的不平衡,期间如果...

    2014-08-31 20:40
    2625
  • volatile足以保证数据同步吗

    上一节已经了解了java内存模型,JMM为了提高执行性能,引入了工作内存和主存两个概念,在继续讨论之前必须先搞清四种存储介质:寄存器、高级缓存、RAM和ROM。 RAM与ROM大家都比较熟悉了,可以看...

    2014-09-02 20:42
    2818
  • 从单机到集群会话的管理之单机模式

    单机时代对会话的管理主要有两种方式——非持久化方式和持久化方式。非持久化方式指会话直接由tomcat管理并保存在机器内存上,它是最简单的方式,如下图,所有的会话集合都保存在内存上,客户端访问时根据自己...

    2015-10-25 12:30
    2358
  • 从JDK源码角度看java并发线程的中断

    线程的定义给我们提供了并发执行多个任务的方式,大多数情况下我们会让每个任务都自行执行结束,这样能保证事务的一致性,但是有时我们希望在任务执行中取消任务,使线程停止。在java中要让线程安全、快速、可靠...

    2016-05-13 17:52
    6263
  • 从JDK源码角度看线程池原理

    “池”技术对我们来说是非常熟悉的一个概念,它的引入是为了在某些场景下提高系统某些关键节点性能,最典型的例子就是数据库连接池,JDBC是一种服务供应接口(SPI),具体的数据库连接实现类由不同厂商实现,...

    2016-05-15 09:01
    6022
  • 从JDK源码角度看并发竞争的超时

    JDK中的并发框架提供的另外一个优秀机制是锁获取超时的支持,当大量线程对某一锁竞争时可能导致某些线程在很长一段时间都获取不了锁,在某些场景下可能希望如果线程在一段时间内不能成功获取锁就取消对该锁的等待...

    2016-05-17 08:31
    5371
  • 从JDK源码角度看并发锁的优化

    在CLH锁核心思想的影响下,JDK并发包以CLH锁作为基础而设计,其中主要是考虑到CLH锁更容易实现取消与超时功能。比起原来的CLH锁已经做了很大的改造,主要从两方面进行了改造:节点的结构与节点等待机...

    2016-05-19 17:01
    5322
  • 从JDK源码角度看线程的阻塞和唤醒

    目前在Java语言层面能实现阻塞唤醒的方式一共有三种:suspend与resume组合、wait与notify组合、park与unpark组合。其中suspend与resume因为存在无法解决的竟态问...

    2016-05-21 08:39
    5381
  • 基于若引用的内存泄漏检测

    在Java中,引用分为强引用、软引用、弱引用和虚引用四种。强引用,代码中普遍存在的形式,例如常见的普通类new出对象后的引用。GC不会回收强引用的对象。 软引用,软引用对象会在内存溢出异常之前进行回收...

    2016-07-19 09:27
    3278
  • 用jmap和jps查看对象数量

    给https://github.com/sea-boat/net-reactor添加bufferpool,使用直接内存。功能需求是启动时初始化一定量的buffer,每建立一个连接都分配一个buffer...

    2017-01-05 11:59
    2853
  • 怎么用弱引用实现内存泄漏检测

    在Java中,引用分为强引用、软引用、弱引用和虚引用四种。 强引用,代码中普遍存在的形式,例如常见的普通类new出对象后的引用。GC不会回收强引用的对象。 软引用,软引用对象会在内存溢出异常之前进行回...

    2017-06-04 18:32
    993
  • 谈谈Java基础数据类型

    Java的基本数据类型 类型 意义 取值 boolean 布尔值 true或false byte 8位有符号整型 -128~127 short 16位有符号整...

    2017-06-08 18:27
    2141
  • JVM层对jar包字节码加密

    githubhttps://github.com/sea-boat/ByteCodeEncrypt需求拿到的需求是要对某特定的jar包实现加密保护,jar包需要提供给外部使用,但核心逻辑部分需要保护以...

    2017-07-18 18:45
    5699
  • Java对象在JVM中长啥样

    前言 Java 是门面向对象的开发语言,那么我们自己编写的 Java 类生成的对象是什么样的?它肯定保存在虚拟机的内存中,但它以怎样的结构来保存的呢?带着疑问往下看看。 关于Klass Ja...

    2018-05-12 08:14
    395
  • 从JDK源码角度看Boolean

    Java的Boolean类主要作用就是对基本类型boolean进行封装,提供了一些处理boolean类型的方法,比如String类型和boolean类型的转换。主要实现源码如下:public fina...

    2017-06-16 19:07
    2046
  • 从JDK源码角度看Object

    Java的Object是所有其他类的父类,从继承的层次来看它就是最顶层根,所以它也是唯一一个没有父类的类。它包含了对象常用的一些方法,比如getClass、hashCode、equals、clone、...

    2017-06-26 19:53
    3247
  • 从JDK源码角度看Byte

    Java的Byte类主要的作用就是对基本类型byte进行封装,提供了一些处理byte类型的方法,比如byte到String类型的转换方法或String类型到byte类型的转换方法,当然也包含与其他类型...

    2017-07-06 15:39
    2248
  • Java调用本地方法又是怎么一回事

    JNIJNI即Java Native Interface,它能在Java层实现对本地方法的调用,一般本地的实现语言主要是C/C++,其实从虚拟机层面来看JNI挺好理解,JVM主要使用C/C++ 和少量...

    2017-07-10 17:28
    3943
  • 从JDK源码角度看Short

    概况Java的Short类主要的作用就是对基本类型short进行封装,提供了一些处理short类型的方法,比如short到String类型的转换方法或String类型到short类型的转换方法,当然也...

    2017-08-01 20:25
    2343
  • 从JDK源码角度看Integer

    概况Java的Integer类主要的作用就是对基本类型int进行封装,提供了一些处理int类型的方法,比如int到String类型的转换方法或String类型到int类型的转换方法,当然也包含与其他类...

    2017-08-15 16:31
    10814

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部