java
文章平均质量分 72
编号1993
这个作者很懒,什么都没留下…
展开
-
Safe construction techniques
学习 Java 内存模型,查看相关文章:JSR 133 (Java Memory Model) FAQ,发现 final 字段的可见性依赖于正确的构造函数,里面给了一篇参考:Safe construction techniques,大致浏览一遍发现确实有很多之前没有思考到的内容。翻译成中文,加深理解。主要内容:引言安全构造技术(Safe construction technique...翻译 2018-07-22 15:38:39 · 373 阅读 · 0 评论 -
Java 线程 6 - volatile和ThreadLocal
参考: Java 线程 0 - 前言主要内容:volatileThreadLocalvolatile参考:Java关键字volatile的理解与正确使用Java并发编程:volatile关键字解析volatile 关键字用于定义变量,保证变量的 可见性 和 指令重排序在现代处理器系统中,线程可能会从高速缓存中读取共享变量值,这样有可能会出现高速缓存中的变量值和内存中的变量值不一致当一个共享变量原创 2017-11-01 10:00:12 · 979 阅读 · 0 评论 -
Java 线程 5 - 线程同步和线程通信
参考: Java 线程 0 - 前言下面学习 Java 中线程同步,线程通信的概念和使用主要内容:为什么线程需要同步ReentrantLock 和 Conditionsynchronized为什么线程需要同步竞争条件:线程共享进程资源,当多线程对同一个对象进行访问时,根据各线程访问进程的次序,可能会得到一个错误的结果《Java核心技术 卷I 14.5 同步》中给出了一个银行账户的例子首先定义原创 2017-11-01 09:59:09 · 838 阅读 · 0 评论 -
Java 线程 4 - 线程的属性
参考: Java 线程 0 - 前言下面学习 Java 线程属性主要内容:Java 属性浅析线程 id 和线程名线程优先级守护线程Java 属性浅析Java 属性包括线程 id,线程名,线程优先级,是否是守护线程等线程 id 和线程名系统赋予每个线程一个单独的 id,所以通过 id 比较可以判断两个线程是否相同/** * Returns the identifier of this Th原创 2017-11-01 09:57:44 · 1104 阅读 · 0 评论 -
Java 线程 3 - 线程的生命周期
参考: Java 线程 0 - 前言java.lang Enum Thread.StateJava疯狂讲义 - 线程的生命周期学习 Java 线程的生命周期以及相关的函数主要内容:线程生命周期getState 和 isAlivesleep,yield 和 joininterrupt,isInterrupted 和 interrupted线程生命周期参考:java.lang Enum Thr原创 2017-11-01 09:55:47 · 824 阅读 · 0 评论 -
Java 线程 2 - 线程的创建
参考: Java 线程 0 - 前言Java 共有 3 种方式用来创建线程,分别是继承 Thread 类或其子类实现接口 Runnable实现接口 Callable 和 Future主要内容:线程构造器,run() 和 start() 方法继承 Thread 类实现接口 Runnable实现接口 Callable 和 Future线程创建方式的比较线程构造器,run() 和 st原创 2017-11-01 09:52:36 · 549 阅读 · 0 评论 -
Java 线程 1 - 进程和线程
参考: Java 线程 0 - 前言下面学习 Java 中进程和线程的概念以及它们之间的关系主要内容:进程线程Java 中进程和线程进程参考:进程Java进程的理解进程(process)是程序的基本执行实体,是进行 资源分配和调度 的 基本单位进程拥有独立的地址空间,包括文本区域(text region),数据区域(data region)和堆栈(stack region)线程参考:线程线程原创 2017-11-01 09:50:30 · 499 阅读 · 0 评论 -
Java 线程 0 - 前言
参考:java.lang Class Thread疯狂Java讲义:第十六章 - 多线程Java 核心技术 卷I - 第14章 多线程下面学习 Java 中有关多线程的概念,操作和使用目前并没有深入理解 Java 虚拟机,所以不过多涉及线程各个时期在 Java 虚拟机上的变化和执行顺序暂不涉及线程池的概念不涉及进程组,未捕获异常处理器的概念不涉及过时方法的使用(stop / suspend / re原创 2017-11-01 09:48:17 · 532 阅读 · 0 评论 -
Java hashCode equals
学习哈希函数,Java 中的 Object.hashCode 和 Object.equals 的相关内容主要内容:哈希函数Object.hashCode 和 Object.equals重写 hashCode 和 equals 方法哈希函数参考:数据结构 - 9.3 哈希表哈希算法哈希表给定表 M,存在函数 f(key),对任意给定的关键字值 key,代入函数后若能得到包含该关键字的记录在表中原创 2017-10-19 18:25:51 · 684 阅读 · 0 评论 -
Java 异常处理机制
参考:Lesson: Exceptions:https://docs.oracle.com/javase/tutorial/essential/exceptions/index.html Java API:http://docs.oracle.com/javase/8/docs/api/异常(exceptions) 应该是 Java 学习和开发过程中经常会遇到,但是感觉不太熟悉的一部分内容刚开始学原创 2017-08-18 09:16:49 · 624 阅读 · 0 评论 -
Java 泛型
参考:《Java 编程思想》 - 15章 Java总结篇系列:Java泛型:http://www.cnblogs.com/lwbqqyumidi/p/3837629.html Java心得总结四】Java泛型下——万恶的擦除:http://www.cnblogs.com/xltcjylove/p/3671943.html泛型是 Java 中很重要的一部分内容,之前学习 Java 的时候就是大概浏原创 2017-06-09 18:35:39 · 404 阅读 · 0 评论 -
Java clone
参考:java.lang Interface Cloneablejava.lang Class Object下面学习 Java 中的 Object.clone() 方法 和 cloneable 接口的概念和使用,学习关于 强复制(克隆,拷贝)和浅复制 的区别和联系主要内容:Object.clone() 方法和 cloneable 接口Object.clone() 方法的实现深复制和浅复制Ob原创 2017-10-16 20:32:44 · 395 阅读 · 1 评论 -
Java 位运算符和移位运算符
参考:Bitwise and Bit Shift Operators《Java 编程思想 第3章 操作符》今天学习 Java BitSet 类时,发现对于位运算符和移位运算符的操作有些陌生,所以重新复习一下主要内容:位操作浅析位运算符移位运算符优先级问题解析取值范围位操作浅析Java 可在整数类型(integral type)数据上进行位(bit)操作整数类型:字节型(byte,8原创 2017-11-15 18:40:13 · 6412 阅读 · 2 评论 -
JSR 133 (Java Memory Model) FAQ - 下
引言FAQ 概述了 Java 内存模型,重排序,同步,final 字段和 volatile 字段,以及双重校验锁。因为内容较多,分为上下两篇final 字段是如何改变值的?老内存模型中 final 字段是如何改变值的一个最好例子是 String 类的实现。一个 String 是一个有 3 个字段的对象 - 一个字符数组,针对数组的偏置值,以及长度。这样实现 String...翻译 2018-07-26 20:26:31 · 307 阅读 · 1 评论 -
JSR 133 (Java Memory Model) FAQ - 上
最近学习 Java 内存模型的相关知识,找到 Java 提案内存模型(JSR 133)的相关文章The Java Memory Model里面提到关于常见问题解答的文章JSR 133 (Java Memory Model) FAQ已有中文翻译 JSR 133 (Java Memory Model) FAQ,还是想自己试一下主要内容:究竟什么是内存模型?(What is...翻译 2018-07-26 20:25:37 · 603 阅读 · 0 评论 -
Java Memory Model
今天看《Java多线程实战指南-设计模式篇》的时候发现里面提到一个 Java 内存模型(JMM,Java Memory Model)术语,对这个概念有些模糊了,就在网上查找资料。找到一篇比较好的文章Java Memory Model发现已经有好几篇中文翻译了,不过还是想自己动手试一试主要内容:引言Java 内存模型(The Internal Java Memory Mo...翻译 2018-07-18 19:34:28 · 920 阅读 · 0 评论 -
Java Volatile Keyword
这几天学习 Java 内存模型,查看文章:JSR 133 (Java Memory Model) FAQ里面介绍了新的 Java 内存模型对 volatile 关键字的修订,因为只是一个 FAQ,并没有很详细的解析 volatile 关键字的用法,找到一篇文章Java Volatile Keyword详细的介绍了 volatile 适用的场景以及不适用的场景,翻译一下主要内容:...翻译 2018-07-23 19:21:23 · 334 阅读 · 0 评论 -
Java 注释
其实已经写了不少代码了,不过写的越多,就越有心慌的感觉,因为时间越久,对之前实现的功能越陌生注释(comments)是最开始学习 Java 的时候就知道的,不过一直没有很好的使用它,这次完整的学习下注释的语法,以及相应工具的使用参考:How to Write Doc Comments for the Javadoc ToolJava 文档注释注释分类文档注释文档工...原创 2018-05-20 11:00:13 · 346 阅读 · 0 评论 -
获取年月日时分秒毫秒 C C++ Java
最近遇到一个需求,其中一个内容就是利用当前时间进行文件命名 - 年月日时分秒毫秒,这样能够保证文件命名的唯一性和实时性这种需求应该会经常遇到,所以记录下如何在 C/C++/Java 环境下进行时间的查询和使用主要内容:C/C++ 环境Java 环境C/C++ 环境年月日时分秒使用头文件:<time.h>使用函数:time() ...原创 2018-05-06 16:41:58 · 6920 阅读 · 0 评论 -
Java BitSet 源码解析(4)
参考:java.util.BitSetJava BitSet类查看类 ArrayList 中 removeIf 方法源码时,发现其使用 BitSet 类来存储待删除的元素下标之前没有接触过这个类,了解之后发现其在数据查询和存储方面有很大用处主要内容:BitSet 浅析类变量和常量构造器setclear -(2)getflip - (3)valueOf位运算(and, andNot,原创 2017-11-24 10:34:27 · 985 阅读 · 0 评论 -
Java BitSet 源码解析(3)
参考:java.util.BitSetJava BitSet类查看类 ArrayList 中 removeIf 方法源码时,发现其使用 BitSet 类来存储待删除的元素下标之前没有接触过这个类,了解之后发现其在数据查询和存储方面有很大用处主要内容:BitSet 浅析类变量和常量构造器setclear -(2)getflip - (3)valueOf位运算(and, andNot,原创 2017-11-24 10:30:22 · 691 阅读 · 0 评论 -
Java BitSet 源码解析(2)
参考:java.util.BitSetJava BitSet类查看类 ArrayList 中 removeIf 方法源码时,发现其使用 BitSet 类来存储待删除的元素下标之前没有接触过这个类,了解之后发现其在数据查询和存储方面有很大用处主要内容:BitSet 浅析类变量和常量构造器setclear -(2)getflip - (3)valueOf位运算(and, andNot,原创 2017-11-24 10:29:09 · 631 阅读 · 0 评论 -
Java BitSet 源码解析(1)
参考:java.util.BitSetJava BitSet类查看类 ArrayList 中 removeIf 方法源码时,发现其使用 BitSet 类来存储待删除的元素下标之前没有接触过这个类,了解之后发现其在数据查询和存储方面有很大用处主要内容:BitSet 浅析类变量和常量构造器setclear -(2)getflip - (3)valueOf位运算(and, andNot,原创 2017-11-24 10:26:53 · 1898 阅读 · 0 评论 -
RxJava 1.x 学习
RxJava 1.x 学习参考:给 Android 开发者的 RxJava 详解:http://gank.io/post/560e15be2dca930e00da1083RxJava 是响应式编程(Reactive Programming)在 Java 语言上的实现主要内容:RxJava 简单介绍观察者模式实现Subscriber 使用Action 使用Scheduler 使用Funct原创 2017-05-31 10:20:41 · 2879 阅读 · 0 评论 -
观察者模式 Java
观察者模式 Java观察者模式(Observer Pattern)指多个观察者同时依赖于某个主题对象,对象发生改变后会主动通知观察者进行改变的软件设计模式。主要内容:简要原理观察者模式实例完整工程链接简要原理百度百科: 观察者模式别名:发布(publish)-订阅(subscribe)模式、模型(model)-视图(view)模式、源-收听者模式、从属者模式观察者模式有两个主要对象:观察者原创 2017-05-16 11:20:54 · 656 阅读 · 0 评论 -
Java json gson
Java json gson参考:介绍 JSON:http://www.json.org/json-zh.html google/gson:https://github.com/google/gson https://github.com/google/gson:https://github.com/zzz40500/GsonFormat/ Gson 2.8.0 API:http://www.原创 2017-02-26 11:43:16 · 1173 阅读 · 0 评论 -
java 字符串的解析(split)
String类提供了一个split()方法,用于实现将一个字符串分解成子字符串或令牌(Token)的功能。该方法使用正则表达式作为分隔符public String[] split(String regex, int n=0):regex:正则表达式n:模式应用的次数。如果n的值为0,则模式将应用尽可能多的词数,末尾的空字符串被丢弃;如果n的值大于0,则模式至多应用n原创 2015-09-21 13:28:25 · 3347 阅读 · 0 评论 -
java 文件及目录管理
参考:《Java语言程序设计》第8章 Java输入输出###############################################################Java语言的输入输出是通过java.io包中的类实现的。创建File对象File对象表示文件和目录。通过File对象可以实现文件或目录的相关信息的访问,如文件的名称,长度,读写属原创 2015-11-10 21:27:56 · 771 阅读 · 0 评论 -
java 线程的基本用法
定义一个线程只需要新建一个类继承自Thread,然后重写父类的run()方法,并在里面编写耗时逻辑即可:class MyThread extends Thread { @Override public void run() { //处理具体的逻辑 }}启动线程,只需要new出MyThread的实例,然后调用它的原创 2015-09-21 17:29:44 · 661 阅读 · 0 评论 -
java SortedMap 升序、降序操作
参考:http://blog.csdn.net/xiaoyu714543065/article/details/38519817##########################################################降序操作:按key降序import java.util.Comparator;import java.util原创 2015-09-21 11:18:35 · 17463 阅读 · 0 评论 -
java jni 入门1 - 一个简单的从Java程序中调用C函数
参考:《JAVA核心技术 卷II:高级特性》第12章 本地方法######################################################3使用本地代码的三个理由:1.你的应用需要访问系统的各个特性和设备。这些特性和设备通过Java平台是无法访问的;2.你已经有了大量的测试过和调试过的用另一种语言编写的代码,并且知道如何将其导原创 2015-11-08 15:46:14 · 10101 阅读 · 2 评论 -
java jni 入门2 - 数值参数与返回值
参考:《Java核心技术 卷II:高级特性》第12章 本地方法##########################################################################当在C和Java之间传递数字时,应该知道它们彼此之间的对应类型。例如,尽管C拥有int和long的数据类型,但是它们的实现却是取决于平台的。在一些平台上,int类型是原创 2015-11-08 16:05:47 · 1021 阅读 · 0 评论 -
java String / StringBuilder / StringBuffer 的使用
参考:《Java语言程序设计》第4章####################################################################字符串是字符的序列,它是许多程序设计语言的基本数据结构,Java语言是通过字符串类实现的。Java语言提供了3个字符串类:String类 / StringBuilder类 和 StringBuffer原创 2015-11-07 21:43:19 · 943 阅读 · 0 评论 -
java 定时器
http://blog.csdn.net/bzuld/article/details/8598776转载 2015-11-07 21:48:39 · 471 阅读 · 0 评论 -
JAVA UUID 生成
转载自:http://www.cnblogs.com/jdonson/archive/2009/07/22/1528466.htmlGUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。UUID是1.5中新增的一转载 2015-08-24 16:44:20 · 646 阅读 · 0 评论 -
JDBC Java连接MySQL
MySQL数据库驱动下载:http://download.csdn.net/detail/u012005313/8627705数据库为testDB 数据表为studentcreate database testDB;create table student (name varchar(20) primary key,age int(4),sex varchar(4原创 2015-04-24 13:18:46 · 568 阅读 · 0 评论 -
java 路径分隔符
参考:《Java语言程序设计》第8章 Java输入输出###################################################################对于路径的分隔符,不同的系统使用的符号不同。在Windows系统下使用反斜线(\),在UNIX系统下使用正斜线(/)。由于在Windows系统下反斜线用来表示转义字符,因此,表示路径分隔符原创 2015-11-10 21:05:12 · 3122 阅读 · 0 评论 -
java jni 入门5 - 编码签名 以及 javap命令的使用
参考:《Java核心技术 卷II:高级特性》第12章 本地方法####################################################################为了访问实例域和调用Java编程语言中定义的方法,必须学习“编入”数据类型的名称和方法签名的规则(方法签名描述了参数和该方法返回值的类型)。编码方案如下:原创 2015-11-11 14:53:59 · 1437 阅读 · 0 评论 -
C/C++/Java 断言assert使用
经常在上面这些语言中看到assert的使用,今天统一查阅了一些资料#######################################################C中assert使用参考:《C Primer Plus》第16章 16.12 断言库assert.h - http://baike.baidu.com/link?url=0ZjMM原创 2016-11-16 21:32:04 · 1727 阅读 · 0 评论 -
C/C++/Java goto语句的使用
goto语句:http://baike.baidu.com/link?url=2SPNcNbC4S-CP08jQV5ei2b9zqpXdfHrFRqstF5TCsVTnZeUcrpQ3THe0uvWkF95eyej52gBijSAwwXR_6ZeIq#6《C Primer Plus》(第6版)中文版 7.8章 goto语句《JAVA核心技术 卷I:基础知识》3.8.6章 中断控制流程语句原创 2016-09-26 16:59:34 · 1063 阅读 · 0 评论