E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Java源码
Java基础学习笔记
如何阅读
Java源码
阅读java的真实体会面向对象Java创建内部类对象爬虫Java爬虫实战(二):抓取一个视频网站上2015年所有电影的下载链接用Java实现网易云音乐爬虫揭秘Java网络爬虫程序原理
4change
·
2019-01-21 02:36
Java
Java源码
--String.split(String regex)方法解析
注:博客内容主要摘抄自参考阅读中的两篇博文~前言最近在翻阅《阿里巴巴Java开发手册》时发现了这样一条【推荐】性的原则://使用索引访问用String的split方法得到的数组时,需做最后一个分割符后有无内容的检查,否则会有抛IndexOutOfBoundsException的风险。Stringstr="a,b,c,,";String[]ary=str.split(",");//预期大于3,结果是
_inkrain
·
2019-01-20 20:14
Java源码
MVP模式:从最简单的mvp开始
不过总会继续写完的(只要flutter不凉,其实我甚至考虑要边看rx
java源码
边开一篇文章记录学习(hhh闲话少说进入正题。
qh_七
·
2019-01-16 17:22
学以致用——
Java源码
——抛双骰游戏图形界面版(GUI-Based Craps Game)
游戏简介:1.抛双骰游戏的Swing界面版(CLI命令行版本见:学以致用——
Java源码
——抛双骰儿游戏改进版(CrapsGameModificationwithwagering),https://blog.csdn.net
预见未来to50
·
2019-01-15 15:51
Java编程(Java
Programming)
Java基础系列-二进制操作
原创文章,转载请标注出处:《Java基础系列-二进制操作》概述
Java源码
中涉及到大量的二进制操作,非常的复杂,但非常的快速。
唯一浩哥
·
2019-01-14 18:09
深入学习
java源码
之Enum.valueOf()与Enum.ordinal()
深入学习
java源码
之Enum.valueOf()与Enum.ordinal()枚举类的使用枚举类型是强类型的,从而保证了系统安全性。枚举可以限定参数的个数,对调用者的行为能更加严格地进行控制。
wespten
·
2019-01-13 12:38
Java源码
学以致用——
Java源码
——使用Swing创建用户界面原型
程序功能:使用Swing控件创建以下用户界面。三年前没解决的问题,今天终于通过参考SwingSet3中的JButtonDemo界面的源码而解出。用到的核心知识是组合使用FlowLayout和GridLayout实现控件的对齐(alignment)。参考文章:吐槽-使用Swing实现的第一个页面,https://blog.csdn.net/hpdlzu80100/article/details/52
预见未来to50
·
2019-01-10 22:48
Java编程(Java
Programming)
Java源码
解析LinkedList
本文基于jdk1.8进行分析。LinkedList和ArrayList都是常用的java集合。ArrayList是数组,Linkedlist是链表,是双向链表。它的节点的数据结构如下。privatestaticclassNode{Eitem;Nodenext;Nodeprev;Node(Nodeprev,Eelement,Nodenext){this.item=element;this.next=
李灿辉
·
2019-01-09 11:26
Java源码
解析HashMap的keySet()方法
HashMap的keySet()方法比较简单,作用是获取HashMap中的key的集合。虽然这个方法十分简单,似乎没有什么可供分析的,但真正看了源码,发现自己还是有很多不懂的地方。下面是keySet的代码。publicSetkeySet(){Setks=keySet;if(ks==null){ks=newKeySet();keySet=ks;}returnks;}从代码中了解到,第一次调用keyS
李灿辉
·
2019-01-09 10:03
Java源码
解析HashMap的tableSizeFor函数
aka,HashMap的容量大小必须为2的指数,即16,32,64,128这样的值。那么,在构造函数中,如果调用者指定了HashMap的初始大小不是2的指数,那么,HashMap的tableSizeFor函数,会计算一个大于或等于给定参数的2的指数的值。先来看一下tableSizeFor函数的源码,如下/***Returnsapoweroftwosizeforthegiventargetcapac
李灿辉
·
2019-01-09 09:17
Java源码
解析阻塞队列ArrayBlockingQueue介绍
Java的阻塞队列,在实现时,使用到了lock和condition,下面是对其主要方法的介绍。首先看一下,阻塞队列中使用到的锁。/**Mainlockguardingallaccess**/finalReentrantLocklock;/**Conditionforwaitingtakes**/privatefinalConditionnotEmpty;/**Conditionforwaiti
李灿辉
·
2019-01-09 09:19
Java源码
解析CopyOnWriteArrayList的讲解
本文基于jdk1.8进行分析。ArrayList和HashMap是我们经常使用的集合,它们不是线程安全的。我们一般都知道HashMap的线程安全版本为ConcurrentHashMap,那么ArrayList有没有类似的线程安全的版本呢?还真有,它就是CopyOnWriteArrayList。CopyOnWrite这个短语,还有一个专门的称谓COW.COW不仅仅是java实现集合框架时专用的机制,
李灿辉
·
2019-01-08 14:34
Java源码
解析ConcurrentHashMap的初始化
首先看一下代码privatefinalNode[]initTable(){Node[]tab;intsc;while((tab=table)==null||tab.length==0){//第一次检查if((sc=sizeCtl)0)?sc:DEFAULT_CAPACITY;@SuppressWarnings("unchecked")Node[]nt=(Node[])newNode[n];tabl
李灿辉
·
2019-01-08 11:45
Java源码
解析TreeMap简介
TreeMap是常用的排序树,本文主要介绍TreeMap中,类的注释中对TreeMap的介绍。代码如下。/***ARed-Blacktreebased{@linkNavigableMap}implementation.*Themapissortedaccordingtothe{@linkplainComparablenatural*ordering}ofitskeys,orbya{@linkCom
李灿辉
·
2019-01-08 10:20
Java源码
解析阻塞队列ArrayBlockingQueue常用方法
本文基于jdk1.8进行分析ArrayBlockingQueue的功能简介参考https://www.jb51.net/article/154211.htm。首先看一下ArrayBlockingQueue的成员变量。如下图。最主要的成员变量是items,它是一个Object类型的数组用于保存阻塞队列中的元素。其次是takeIndex,putIndex,count,分别表示了从队列获取元素的位置,往
李灿辉
·
2019-01-08 09:09
Java源码
解析阻塞队列ArrayBlockingQueue功能简介
本文基于jdk1.8进行分析。阻塞队列是java开发时常用的一个数据结构。首先看一下阻塞队列的作用是什么。阻塞队列的作用,从源码中类的注释中来了解,是最清晰准确的。ArrayBlockingQueue是一个用数组实现的有界阻塞队列。提供FIFO的功能。队列头上的元素是在队列中呆了最长时间的元素,队列尾上的元素是在队列中呆了时间最短的元素。新元素会插入在队列尾部,从队列获取元素时会从队列头上获取。这
李灿辉
·
2019-01-08 09:13
Java源码
解析之可重入锁ReentrantLock
本文基于jdk1.8进行分析。ReentrantLock是一个可重入锁,在ConcurrentHashMap中使用了ReentrantLock。首先看一下源码中对ReentrantLock的介绍。如下图。ReentrantLock是一个可重入的排他锁,它和synchronized的方法和代码有着相同的行为和语义,但有更多的功能。ReentrantLock是被最后一个成功lock锁并且还没有unlo
李灿辉
·
2019-01-08 09:37
Java源码
解析ThreadLocal及使用场景
ThreadLocal是在多线程环境下经常使用的一个类。这个类并不是为了解决多线程间共享变量的问题。举个例子,在一个电商系统中,用一个Long型变量表示某个商品的库存量,多个线程需要访问库存量进行销售,并减去销售数量,以更新库存量。在这个场景中,是不能使用ThreadLocal类的。ThreadLocal适用的场景是,多个线程都需要使用一个变量,但这个变量的值不需要在各个线程间共享,各个线程都只使
李灿辉
·
2019-01-08 09:13
Java源码
解析ArrayList及ConcurrentModificationException
本文基于jdk1.8来分析ArrayList的源码首先是主要的成员变量。/***Defaultinitialcapacity.**/privatestaticfinalintDEFAULT_CAPACITY=10;/***Sharedemptyarrayinstanceusedforemptyinstances.**/privatestaticfinalObject[]EMPTY_ELEMENTD
李灿辉
·
2019-01-08 08:31
Reference、ReferenceQueue
关于
Java源码
的学习可以参考《
Java源码
分析》:ReferenceQueue、Reference及其子类。这里看一下Androidapi27源码中的引用相关的类。
sollian
·
2019-01-07 18:28
学以致用——
Java源码
——使用接口及多态处理应付账款(发票及员工工资)(更简单的方法)(Accounts Payable System Modification 2)
参考:学以致用——
Java源码
——使用接口及多态处理应付账款(发票及员工工资)(AccountsPayableSystemModification),https://blog.csdn.net/hpdlzu80100
预见未来to50
·
2019-01-07 15:11
Java编程(Java
Programming)
Java源码
解析HashMap成员变量
本文基于jdk1.8进行分析关于HashMap的简介,可以参考这篇文章https://www.jb51.net/article/154177.htm。首先看一下HashMap的一些静态常量。第一个是DEFAULT_INITIAL_CAPACITY,默认初始大小,16。从注释中可以了解到,大小必须为2的指数。这里的16,采用的1左移4位实现。而“aka”,是asknownas的缩写。/***Thed
李灿辉
·
2019-01-07 14:22
Java源码
解析HashMap简介
本文基于jdk1.8进行分析HashMap是java开发中可以说必然会用到的一个集合。本文就HashMap的源码实现进行分析。首先看一下源码中类的javadoc注释对HashMap的解释。如下图。HashMap是对Map接口的基于hash表的实现。这个实现提供了map的所有可选操作,并且允许null值(可以多个)和一个null的key(仅限一个)。HashMap和HashTable十分相似,除了H
李灿辉
·
2019-01-07 14:45
Java源码
解析HashMap的resize函数
HashMap的resize函数,用于对HashMap初始化或者扩容。首先看一下该函数的注释,如下图。从注释中可以看到,该函数的作用是初始化或者使table的size翻倍。如果table是null,那么就申请空间进行初始化。否则,因为我们在使用2的指数的扩张,在原来table的每个位置的元素,在新的table中,他们要么待在原来的位置,要么移动2的指数的偏移。从这里可以看出,扩容前table每个位
李灿辉
·
2019-01-05 15:41
深入学习
java源码
之Math.floor()与 Math.rint()
深入学习
java源码
之Math.floor()与Math.rint()java中有三种移位运算符>:右移运算符,num>>1,相当于num除以2>>>:无符号右移,忽略符号位,空位都以0补齐二进制最左端的数字为符号位
wespten
·
2019-01-05 06:00
Java源码
深入学习
java源码
之lambda表达式与函数式接口
深入学习
java源码
之lambda表达式与函数式接口@FunctionalInterfaceJDK中的函数式接口举例java.lang.Runnable,java.awt.event.ActionListener
wespten
·
2019-01-04 06:24
Java源码
Java源码
解析线程池ThreadPoolExecutor的execute方法
线程池有很多方法,其中最常用的一个是execute()方法,它允许用户把任务提交给线程池进行执行。首先看一下execute()的功能介绍,如下图。在将来的某个时间执行给定的任务。给定的任务有可能在一个新线程中执行,也有可能在已经存在的线程中执行。如果任务无法被提交,不管是因为线程池已经关闭了,还是因为线程池已经达到最大容量,那么任务会被拒绝策略来处理。/***Executesthegiventas
bugcoder321
·
2019-01-03 18:48
Java源码解析
简说Java线程的那几个启动方式
Thread对于Thread我想这个基本上大家都认识的,在
Java源码
是这样说:java虚拟机允许应用程序同时运行多个执行线程。而这个的Thread就是程序的执行线程。如何使用
Java猫说
·
2018-12-30 00:00
futuretask
thread
并发
线程
学以致用——
Java源码
——骑士之旅(跳马)小游戏_优化算法加汇总分析版(Knight’s Tour - Heuristic plus statistics version)
接上一篇,学以致用——
Java源码
——骑士之旅(跳马)小游戏_优化算法版(Knight’sTour-Heuristicversion),https://blog.csdn.net/hpdlzu80100
预见未来to50
·
2018-12-29 10:53
Java编程(Java
Programming)
学以致用——
Java源码
——销售员业绩统计小程序(Total Sales)
程序功能:依次输入销售单数据(销售员编号、销售产品编号、销售金额),程序进行相应的统计。运行结果示例:销售额月度汇总小程序:请输入0开始输入销售单数据(输入-1退出):0请输入销售员编号(销售员编号范围:1-4):1请输入产品编号(产品编号范围:1-5):1请输入销售额:200该销售单录入成功!请输入0开始输入销售单数据(输入-1退出):0请输入销售员编号(销售员编号范围:1-4):1请输入产品编
预见未来to50
·
2018-12-26 23:54
Java编程(Java
Programming)
学以致用——
Java源码
——机票预定小程序(Airline Reservation)
记得2008年这个程序没有完成,十年后的今天补上。改进如下:1.分拆出预定头等舱和预定经济舱两个方法,程序逻辑更加简单清晰2.消除了原来程序的bug这个程序是在原来的applet版本上修改而成的(大改)。编程途中遭遇了思路理不清的问题。然后,拿出笔记本画了个流程图,思路顿时清晰了。如果从零开始可能更简单。这也说明了维护项目其实不一定比开发项目简单!参考文章:简单航班订票模拟系统(AirlineRe
预见未来to50
·
2018-12-26 16:42
Java编程(Java
Programming)
学以致用——
Java源码
——命令行参数的用法示例(任意个数字连乘)(Command-Line Arguments)
命令行中执行带参数的java程序(Command-LineArguments),https://blog.csdn.net/hpdlzu80100/article/details/518514402.学以致用——
Java
预见未来to50
·
2018-12-25 16:38
Java编程(Java
Programming)
学以致用——
Java源码
——抛硬币(Coin Tossing)
十年一晃而过,十年前写的代码,依然可以帮助我前进!packageexercises.ch6Methods;importjava.util.*;//JHTPExercise6.29(CoinTossing)//
[email protected]
/****6.29(CoinTossing)Writeanapplicationthatsimulatescointossing.*Letthepr
预见未来to50
·
2018-12-24 01:34
Java编程(Java
Programming)
Java源码
解析阻塞队列ArrayBlockingQueue常用方法
本文基于jdk1.8进行分析ArrayBlockingQueue的功能简介参考https://blog.csdn.net/li_canhui/article/details/85062891。首先看一下ArrayBlockingQueue的成员变量。如下图。最主要的成员变量是items,它是一个Object类型的数组用于保存阻塞队列中的元素。其次是takeIndex,putIndex,count,
bugcoder321
·
2018-12-18 12:21
Java源码解析
Java源码解析
Java源码
解析阻塞队列ArrayBlockingQueue功能简介
本文基于jdk1.8进行分析。阻塞队列是java开发时常用的一个数据结构。首先看一下阻塞队列的作用是什么。阻塞队列的作用,从源码中类的注释中来了解,是最清晰准确的。如下图。ArrayBlockingQueue是一个用数组实现的有界阻塞队列。提供FIFO的功能。队列头上的元素是在队列中呆了最长时间的元素,队列尾上的元素是在队列中呆了时间最短的元素。新元素会插入在队列尾部,从队列获取元素时会从队列头上
bugcoder321
·
2018-12-18 11:34
Java 5~11各个版本新特性史上最全总结
)静态导入格式化(System.out.println支持%s%d等格式化输出)线程框架/数据结构JUCArrays工具类/StringBuilder/instrument1、泛型所谓类型擦除指的就是
Java
stoneman1314
·
2018-12-17 20:44
java特性演进
Java源码
解析——volatile
1定义及作用1.1英文释义1.2百度百科1.3维基百科译:当被用于修饰变量时,Javavolatile关键字可以保证:(1)在所有版本的Java中,对volatile关键字修饰的变量的读写存在全局排序。这意味着每个访问volatile修饰字段的线程都会去读取字段的当前值,而不是继续使用(可能存在地)字段的缓存值。(但是,并不能保证读写volatile修饰字段与读写常规字段之间的相对顺序,这意味着它
huazi928
·
2018-12-12 19:31
jdk源码
Java集合框架之HashMap的底层原理及源码分析
最近一直都在研究
Java源码
发现自己很多不足也学到很多知识,今天是为了把HashMap给自己总结一下,参考了很多大佬写的文章也自己总结了很多话,如果有错误的地方,望海涵。
水能载舟,亦能覆舟
·
2018-12-12 14:49
java学习
JAVA高级-面试题总结
最近面试了一些公司,针对面试中遇到的问题在此记录,提升自己,造福大家一、
java源码
相关ArrayList创建和add等各种api使用原理HashMap的创建,put原理,和HashTable的区别,resize
Mr.ning
·
2018-12-10 22:00
根据
Java源码
生成流程图
前言最近我写了点操作数据库的代码,但是呢,要在报告里画上流程图。手动来画的话很繁琐,于是我就想着有没有工具可以根据java源代码直接生成流程图。网上找了一番找到一个可以免费试用的流程图生成工具(visustin)。工具软件visustin这个软件是一个代码转换成流程图的神器,支持43种语言,包括C/C++,Java等等等等。这是一款收费的软件,不过好在其官网提供了一个demo版本可供用户下载使用。
蓝蓝223
·
2018-12-07 23:53
java
Java源码
分析 - HashMap 源码分析
HashMap源码分析HashMap简介构造方法HashMaphash函数resize方法put方法get方法remove方法HashMap简介HashMap实现了Map接口,允许nullkey或者nullvalue,与HashTable相似,但是HashTable不允许空值并且是线程安全的。HashMapget与put都可以在常数时间内执行,即为O(1)。影响HashMap的性能有两个因素:Ca
艾克里斯伦
·
2018-12-04 15:54
黑白翻转棋原理及实现链接
以下是参考网站链接:貌似是某个学校布置作业的网站,有详细专业的
java源码
有原理介绍且有布置在github上的演示程序,懂的同学知道怎么找到源码,是javascript语言原理介绍及实现代码,python
Henry_Liu_
·
2018-12-02 01:31
人工智能
Java源码
分析-遍历list过程中,删除元素
如题:遍历list的过程中,删除元素,异常与不异常的情况分析以下几种情况分析公共代码:privatestaticListlist=newLinkedListlistIterator(intindex){checkPositionIndex(index);returnnewListItr(index);}privateclassListItrimplementsListIterator{privat
atsjp
·
2018-12-02 00:51
源码分析
Java源码
分析:HashMap 1.8 相对于1.7 到底更新了什么?
1.简介类定义publicclassHashMapextendsAbstractMapimplementsMap,Cloneable,Serializable主要简介示意图HashMap的实现在JDK1.7和JDK1.8差别较大今天,我将对照JDK1.7的源码,在此基础上讲解JDK1.8中HashMap的源码解析请务必打开JDK1.7对照看:Java:手把手带你源码分析HashMap1.72.数据
Mr_PangKaiGuang
·
2018-11-28 16:08
面试
集合
RxJava全家桶--Rx
java源码
分析
前沿RxJava现在应用范围很广,可以和retrofit,okhttp结合实现网络请求,可以和GreenDao结合实现数据库功能,也能应用开发框架MVP,MVVM有很好的兼容性,这个也符合现在的大环境和很火热的概念,叫做生态。一.RxJava特点RxJava火热的原因归结于4点:1.流式操作2.多元化的操作符3.线程调度4.背压第二点不是本文的初衷,但是我浏览相关资料的时候发现一篇比较好的文章:R
A771642
·
2018-11-22 21:42
Android应用
Android
JVM系列第7讲:JVM 类加载机制
当Java虚拟机将
Java源码
编译为字节码之后,虚拟机便可以将字节码读取进内存,从而进行解析、运行等整个过程,这个过程我们叫:Java虚拟机的类加载机制。
陈树义
·
2018-11-20 09:23
Java源码
分析——Throwable、Exception、Error类解析
在Java中,错误分为两种,一种是jvm能处理的错误,叫做异常,Java中表示Exception类;而另外一种则是jvm不能处理的错误,叫做错误,Java中表示为Error类。它们三者的关系以及常见的子类的实现如下图:Throwable类是Java中一切Exception类与Error类的父类,它直接以Native方法与jvm进行交互,从jvm中获取java程序运行时的异常和错误信息,并在cons
suye233
·
2018-11-18 18:03
JavaSE基础
Java源码分析与思考
AndroidDecorView添加机制
Android8.1Activity的setContentView说起给activity设置布局的时候都是在setcontentview开始的,setcontentview有几个重载的方法我们打开activity.
java
android_coder
·
2018-11-18 00:14
java源码
生成exe
用到的工具如下:Eclipseexe4j(安装需要的版本,例如5.x支持java1.8)JDK1.8 1.首先将
java源码
打包为jar,这里直接用helloworld//main.javapackagehello
超哥__
·
2018-11-16 22:14
如何阅读
Java源码
,阅读java的真实体会
刚才在论坛不经意间,看到有关源码阅读的帖子。回想自己前几年,阅读源码那种兴奋和成就感,不禁又有一种激动。源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。说到技术基础,我打个比方吧,如果你从来没有学过Java,或是任何一门编程语言如C++,一开始去啃《CoreJava》,你是很难从中吸收到营养的,特别是《深入Java虚拟机》这类书,别人觉得好,未必适合现在的你。虽然Tomcat的源码很漂
血煞风雨城2018
·
2018-11-16 15:06
java
源码阅读
上一页
64
65
66
67
68
69
70
71
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他