
java
文章平均质量分 94
大树先生
这个作者很懒,什么都没留下…
展开
-
Simple-Java—Collections(一)Java高效计数器
Translate from Efficient Counter in JavaJava中的高效计数器你可能经常需要统计一段文本或数据库中某些东西(例如单词)的出现频率。在Java中,使用HashMap可以很简单的实现这么一个计数器。 这篇文章将会比较几种实现计数器的方法,最后,得出最有效率的一个。1. 简单计数器String s = "one two three two three three"翻译 2016-02-04 15:23:56 · 464 阅读 · 0 评论 -
Java虚拟机工作过程学习总结
java 内存结构,虚拟机工作过程原创 2016-03-06 14:23:32 · 683 阅读 · 0 评论 -
String拼接符"+"在编译期做了什么?
String拼接符"+"做了啥?原创 2016-09-08 16:59:11 · 1501 阅读 · 1 评论 -
Java迭代foreach原理解析(java.util.ConcurrentModificationException的原因)
java.util.ConcurrentModificationException、Java迭代器原创 2016-02-16 19:34:33 · 4670 阅读 · 1 评论 -
浅析Java中的装箱和拆箱
Java中包装类的装箱和拆箱原创 2016-07-15 22:23:47 · 372 阅读 · 0 评论 -
Java.util包简单总结
java.util包粗略总结原创 2017-02-28 00:30:13 · 55269 阅读 · 5 评论 -
分布式基础-RMI原理简单通俗版
RMI原理原创 2017-10-10 12:28:28 · 691 阅读 · 0 评论 -
【Java并发学习一】如何实现一个线程池
前言和设计模式一样,打算花三个月的时间,结合《Java并发编程实战》一书,来总结下并发方面的知识。第一章从线程池的原理开始总结,希望自己能坚持下来,加油!1. 如何实现一个线程池?线程池的概念这里不多说,在讲它的原理前,我们先自己想一下,如果我来写,那如何实现一个线程池?1.1 线程池的重要变量首先要定义一个存放所有线程的集合; 另外,每有一个任务分配给线程池,我们就原创 2018-01-17 23:27:43 · 12861 阅读 · 2 评论 -
【Java并发学习二】多线程编程的硬件基础知识总结
这篇简单梳理下与多线程相关的硬件知识,了解它们能够让我们更清晰的了解多线程工作的本质,以及关键字synchronized、volatile、final的实现原理。我们会发现,每一个硬件部件的引入都是为了解决某些问题,然后它们又诞生了新的问题。(程序员就处在这样的永无止境的循环中……)高速缓存1. 缓存概念先来说说缓存的概念,现在的处理器运行速度远大于内存的读写速度的,为了填...原创 2018-04-22 13:58:49 · 598 阅读 · 0 评论 -
【Java并发学习三】内存屏障与synchronized、volatile的原理
注:本文内容会有部分涉及上节的硬件知识:【Java并发学习二】多线程编程的硬件基础知识总结1. 内存屏障上一节讲过,为了解决写缓冲器和无效化队列带来的有序性和可见性问题,我们引入了内存屏障。内存屏障是被插入两个CPU指令之间的一种指令,用来禁止处理器指令发生重排序(像屏障一样),从而保障有序性的。另外,为了达到屏障的效果,它也会使处理器写入、读取值之前,将写缓冲器的值写入高速缓存,...原创 2018-06-27 23:08:36 · 2596 阅读 · 4 评论 -
Simple Java—Compiler and JVM(一)Java对象运行时的内存结构
Java中的动态绑定,多态实现机制翻译 2016-01-31 15:31:51 · 775 阅读 · 0 评论 -
Java中的静态绑定和动态绑定
Java静态绑定和动态绑定原创 2016-03-05 13:56:16 · 557 阅读 · 0 评论 -
Simple Java—Strings and Arrays(一)String是引用传值吗?
Java String的传值方式翻译 2016-01-10 21:54:06 · 465 阅读 · 0 评论 -
Simple Java—Strings and Arrays(二)substring()在jdk6和jdk7中的不同
simple java——substring()翻译 2016-01-24 22:37:25 · 388 阅读 · 0 评论 -
为什么java内部类访问局部变量必须声明为final?
先抛出让我疑惑了很久的一个问题编程时,在线程中使用局部变量时候经常编译器会提示:局部变量必须声明为finalpackage test;public class ThreadTest { public void function(String a) { new Thread(){ @Override public void run() { Syst原创 2015-10-18 19:35:17 · 15035 阅读 · 8 评论 -
Simple Java—Strings and Arrays(三)为什么String被设计成了不可变型
为什么String被设计成了不可变型翻译 2016-01-28 17:42:31 · 361 阅读 · 0 评论 -
Simple Java—Strings and Arrays(四)从length和length()开始谈Java
从length和length()开始谈Java翻译 2016-01-28 17:46:09 · 329 阅读 · 0 评论 -
Simple Java—Strings and Arrays(五)如何在java中有效率的检查一个数组中是否有某值?
如何在java中有效率的检查一个数组中是否有某值?翻译 2016-01-28 17:50:15 · 549 阅读 · 1 评论 -
Simple Java—Strings and Arrays(六)Java中的null值是什么?
Java中的null值是什么?翻译 2016-01-28 17:52:51 · 352 阅读 · 0 评论 -
HashMap原理解析
HashMap 实现原理原创 2016-01-27 22:57:23 · 2434 阅读 · 1 评论 -
Simple-Java—Collections(二)Java中如何把数组转换为ArrayList
Java中如何把数组转换为ArrayList翻译 2016-02-18 22:24:58 · 3188 阅读 · 0 评论 -
【Java并发学习五】图解ThreadLocal
简单整理下ThreadLocal的原理,以及它需要注意的内存泄漏。ThreadLocal原理ThreadLocal不多介绍,可看作线程内的局部变量(这个比喻很贴切)。我们平时声明的局部变量的范围一般是方法内的,而ThreadLocal变量的范围是整个线程。我们先来看一段代码demo:public class Test { //可看作线程内声明的局部变量 st...原创 2018-07-29 19:36:56 · 1571 阅读 · 1 评论