首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
阅读笔记:JAVA - chapter 1 & 2
】的更多相关文章
阅读笔记--java内存模型原理
在阅读本篇文章之前,我所理解的和上网了解到的java内存模型原理如下: 不同架构的物理计算机可以有不一样的内存模型,Java 虚拟机也有自己的内存模型.Java 虚拟机规范中试图定义一种 Java 内存模型(Java Memory Model,简称 JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让 Java 程序在各种平台下都能达到一致的内存访问效果,不必因为不同平台上的物理机的内存模型的差异,对各平台定制化开发程序.更具体一点说,Java 内存模型提出目标在于,定义程序中各个变量的访…
Java并发编程阅读笔记-Java监视器模式示例
1.前言 书中在解释Java监视器模式的时候使用了一个车辆追踪器例子,根据不同的使用场景给出了不同的实现和优化. 2.监视器模式示例 实现一个调度车辆的"车辆追踪器",每台车使用一个String对象标识,并且拥有一个相应的位置坐标(x,y).由于运行在多线程的场景下,对外暴露的接口需要保证线程安全. 需要提供的接口包括: 获取所有车辆标识和位置 读取某个车辆位置 更新某个车辆位置 下面给出第一种实现: @ThreadSafe public class MonitorVehicleTra…
《Thinking In Java》阅读笔记
<Thinking In Java>阅读笔记 前四章:对象导论. 一切都是对象. 操作符. 控制执行流程 public在一个文件中只能有一个,可以是一个类class或者一个接口interface >一旦创建一个引用,就希望它能与一个新的对象相关联: String s = "hello"; String s = new String("hello"); s:遥控器(引用) “hello”:电视机(对象) 数据存储在: 寄存器:最快的存储区,在处理器内…
《Java编程思想》阅读笔记二
Java编程思想 这是一个通过对<Java编程思想>(Think in java)进行阅读同时对java内容查漏补缺的系列.一些基础的知识不会被罗列出来,这里只会列出一些程序员经常会忽略或者混淆的知识点. 所列知识点全部都是针对自己个人而言,同时也欢迎大家进行补充. 第九章(接口) 任何抽象性都应该是应真正的需求而产生的. 访问权限 p172 interface如果不加public关键字,则只具有包访问权限. 重名 p181 可以通过extends来扩展接口,但在实现多重继承时要注意不能实现签…
Java 接口与继承 道至简第六章发表阅读笔记
一.继承条件下的构造方法调用 class Grandparent { public Grandparent() { System.out.println("GrandParent Created."); } public Grandparent(String string) { System.out.println("GrandParent Created.String:" + string); } } class Parent extends Grandparen…
云时代架构阅读笔记六——Java内存模型详解(二)
承接上文:云时代架构阅读笔记五——Java内存模型详解(一) 原子性.可见性.有序性 Java内存模型围绕着并发过程中如何处理原子性.可见性和有序性这三个特征来建立的,来逐个看一下: 1.原子性(Atomicity) 由Java内存模型来直接保证原子性变量操作包括read.load.assign.use.store.write,大致可以认为基本数据类型的访问读写是具备原子性的.如果应用场景需要一个更大的原子性保证,Java内存模型还提供了lock和unlock,尽管虚拟机没有把lock和unlo…
《Java多线程编程实战指南(核心篇)》阅读笔记
<Java多线程编程实战指南(核心篇)>阅读笔记 */--> <Java多线程编程实战指南(核心篇)>阅读笔记 Table of Contents 1. 线程概念 1.1. 进程.线程 1.2. Java中线程的创建 1.3. 线程(Thread)的属性 1.4. Thread类的常用方法 1.5. 线程的层次关系 1.6. 线程的生命周期 2. 多线程编程 2.1. 串行.并发与并行 2.2. 多线程编程中存在的问题 2.2.1. 竞态(Race Condition) 2.…
Java Jdk1.8 HashMap源代码阅读笔记二
三.源代码阅读 3.元素包括containsKey(Object key) /** * Returns <tt>true</tt> if this map contains a mapping for the * specified key. * * @param key The key whose presence in this map is to be tested * @return <tt>true</tt> if this map contain…
<<Java并发编程的艺术>>-阅读笔记和思维导图
最近在坚持每天阅读<>,不但做好笔记(MarkDown格式),还做好思维导图. 如果大家感兴趣,可以可以到码云上阅读笔记和到ProcessOn上阅读思维导图. 码云:https://gitee.com/Howinfun/books/tree/master/JavaConcurrent ProcessOn:https://www.processon.com/view/link/5d5fadaae4b06e49191eb2e7…
阅读笔记 1 火球 UML大战需求分析
伴随着七天国庆的结束,紧张的学习生活也开始了,首先声明,阅读笔记随着我不断地阅读进度会慢慢更新,而不是一次性的写完,所以会重复的编辑.对于我选的这本 <火球 UML大战需求分析>,首先,为什么选择这本书呢,其实,最开始我选择的是<实用软件需求分析>,可是后来大概看了<火球 UML大战需求分析>这本书前序之后啊,发现了,书中的作者一开始和我们有着一样的困扰,就象我们大学刚学到UML之后,学完一考试,考试前一复习,考完之后,就随手扔到了一边去.因为对于我们没有经历过正规…
Hadoop阅读笔记(七)——代理模式
关于Hadoop已经小记了六篇,<Hadoop实战>也已经翻完7章.仔细想想,这么好的一个框架,不能只是流于应用层面,跑跑数据排序.单表链接等,想得其精髓,还需深入内部. 按照<Hadoop阅读笔记(五)——重返Hadoop目录结构>中介绍的hadoop目录结构,前面已经介绍了MapReduce的内部运行机制,今天准备入手Hadoop RPC,它是hadoop一种通信机制. RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络…
Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable
酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑海,有郁闷抓狂的,有出成果喜极而涕的,有不知前途在哪儿的迷茫与不安……总的来说,近一年来,不白活,不虚度,感触良多,不是一言两语能说得清道的明的,有时间可以做个总结,下面还是言归正传谈技术吧. 上篇在了解了Hadoop的目录和源码结构后,说好的要啃源码的,那就得啃.也感谢一直以来关注我.支持我的网友…
Hadoop阅读笔记(五)——重返Hadoop目录结构
常言道:男人是视觉动物.我觉得不完全对,我的理解是范围再扩大点,不管男人女人都是视觉动物.某些场合(比如面试.初次见面等),别人没有那么多的闲暇时间听你诉说过往以塑立一个关于你的完整模型.所以,第一眼,先走外貌协会的路线,打量一番,再通过望闻问切等各种手段获取关于你的大量信息(如谈吐.举止等),以快速建立起对于你的认识. 待人接物如此,搞技术也不例外,起码我是这样的.把玩了一番Hadoop的MapReduce过程,单词计数.去重.单表关联等运行的时候控制台打印出各种我看懂看不懂的信息,有了这些视…
Hadoop阅读笔记(二)——利用MapReduce求平均数和去重
前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一年……我在博客园-_-#,希望用dt的代码燃烧脑细胞,温暖小心窝. 上篇<Hadoop阅读笔记(一)——强大的MapReduce>主要介绍了MapReduce的在大数据集上处理的优势以及运行机制,通过专利数据编写Demo加深了对于MapReduce中输入输出数据结构的细节理解.有了理论上的指导,仍…
Hadoop阅读笔记(一)——强大的MapReduce
前言:来园子已经有8个月了,当初入园凭着满腔热血和一脑门子冲动,给自己起了个响亮的旗号“大数据 小世界”,顿时有了种世界都是我的,世界都在我手中的赶脚.可是......时光飞逝,岁月如梭~~~随手一翻自己的博客,可视化已经快占据了半壁江山,思来想去,还是觉得把一直挂在嘴头,放在心头的大数据拿出来说说,哦不,是拿过来学学.入园前期写了有关Nutch和Solr的自己的一些阅读体会和一些尝试,挂着大数据的旗号做着爬虫的买卖.可是,时间在流失,对于大数据的憧憬从未改变,尤其是Hadoop一直让我魂牵梦绕…
IceFig阅读笔记
嗯:就是这里了 http://research.worksap.com/research/icefig/ 一下阅读笔记: 嗯,时间有限,他们提供的又茫茫多,所以 就找出来了 几个 单独聊聊吧. 其他语言的看不太懂,所以跳过了部分,直接进入 有关java的部分. 分别是 http://research.worksap.com/research/junit4/ http://research.worksap.com/research/java-dc-listopslib/ http://resear…
《深入实践Spring Boot》阅读笔记之三:核心技术源代码分析
刚关注的朋友,可以回顾前两篇文章: 基础应用开发 分布式应用开发 上篇文章总结了<深入实践Spring Boot>的第二部分,本篇文章总结第三部分,也是最后一部分.这部分主要讲解核心技术的源代码分析,因为篇幅和能力原因,分析的不会太详细,后续深入研究后再专门写文章.希望大家能从「阅读笔记」3篇文章中,对Spring Boot提供的功能有所了解,在项目中进行实践,不断从繁琐重复的开发中解放出来. 我也是最近刚开始了解Spring Boot,计划今年在项目中实践,到时会总结实践过程中的一些问题和经…
Mina源码阅读笔记(四)—Mina的连接IoConnector2
接着Mina源码阅读笔记(四)-Mina的连接IoConnector1,,我们继续: AbstractIoAcceptor: 001 package org.apache.mina.core.rewrite.service; 002 003 import java.io.IOException; 004 import java.net.SocketAddress; 005 import java.util.ArrayList; 006 import java.util.Collections…
Mina源码阅读笔记(一)-整体解读
今天的这一节,将从整体上对mina的源代码进行把握,网上已经有好多关于mina源码的阅读笔记,但好多都是列举了一下每个接口或者类的方法.我倒是想从mina源码的结构和功能上对这个框架进行剖析.源码的阅读一般有如下几种方法:第一,根据问题读源码,这种方法可能用的最多,哪里有问题了,然后F3一步步点进去:第二种,专门为了读源码而读,从整体到局部,总用法到设计.第三种,可是根据软件的设计特点,根据特点逐一解读.这几篇文章主要将根据第三种方法进行阅读,因为mina的各个模块很有条理,而且我关注的重点也主…
jdk源码阅读笔记-LinkedHashMap
Map是Java collection framework 中重要的组成部分,特别是HashMap是在我们在日常的开发的过程中使用的最多的一个集合.但是遗憾的是,存放在HashMap中元素都是无序的,原因是我们在put或get数据的时候都是根据key的hash值来确定元素的位置.在具体的业务场景中,我们更多的希望对于HashMap集合能够进行顺序访问,好在 jdk 中已经给我们提供了一种解决方案,那就是LinkedHashMap.该类继承与HashMap,因此HashMap拥有的特性它都有,同时…
Js引擎解析执行 阅读笔记
Js引擎解析执行 阅读笔记 一篇阅读笔记 http://km.oa.com/group/2178/articles/show/145691?kmref=search&from_page=1&no=1 早期:遍历语法树 Js引擎最早使用的是遍历语法树方式 (syntax tree walker) 分为两步 词法分析 语法分析 词法分析 i = a + b * c; 转换 "i", "=", "a", "+", &…
Mybatis3.3——源码阅读笔记
目录 Mybatis--Source阅读笔记 兵马未动,日志先行 异常 缓存 回收机制适配器 回收机制优化缓存 事务缓存 调试型缓存--日志缓存 解析 类型处理器 IO VFS Resource ResolverUtil 数据源 unpooledDataSource PooledDataSource JndiDataSource 事务 反射 对象工厂 调用者 wrapper session DefaultSqlSessionFactory DefaultSqlSession Configurat…
《梦断代码Dreaming In Code》阅读笔记(二)
这段时间一口气读了5章,所以想着现在一块写阅读笔记. 在阅读的这段时间,我一直是晚上进行阅读,很多时候都是读完一看已经一个小时了,效果还不错.闲话不表,说说阅读心得. 关于底层语言或是低级语言,我之前一直认为我不需要学,在现在的学习中不用了解低级语言就能学会高级语言,如C++,JAVA等,在以后的工作中我也只需要用高级语言将任务完成就好.但是通过阅读,也认识到了低级语言的重要.像我们学习的汇编语言,学习了之后,感觉对计算机原理的理解更深了,也会了解一些硬件方面的知识,收益颇丰. 今天软件工程这门…
《C#程序设计教程 -李春保》阅读笔记
<C#程序设计教程 -李春保>阅读笔记 ( 需注意程度:红>粗体>下划线,蓝色:我的疑问 ) 老师的引言 [师]对待一种新语言的关注点 数据类型定义(python不用定义) 语法 JAVA两大优势 面相对象:比C++简单 跨平台 开源:造就了很多免费的东西 每个button其实就是类的实例 找工作一定要有一技之长 面试内容: 大公司:基础:C语言.数据结构 小公司:技术:C#.Java 数据传递(不确定正误): 多数据传递:静态类 单数句传递:构造函数 看懂书了再写代码 1…
Java 笔记 —— java 和 javac
Java 笔记 -- java 和 javac h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red !important; text-decoration: underline !important; } pre{ border: solid 1px #CCCCCC; border-radius: 3px; background-color: #F8F8F8; overflow: aut…
Spark源代码阅读笔记之DiskStore
Spark源代码阅读笔记之DiskStore BlockManager底层通过BlockStore来对数据进行实际的存储.BlockStore是一个抽象类,有三种实现:DiskStore(磁盘级别的持久化).MemoryStore(内存级别的持久化)和TachyonStore(Tachyon内存分布式文件系统级别的持久化). DiskStore通过DiskBlockManager来实现Block和相应磁盘文件的映射关系,从而将Block存储到磁盘的文件里.DiskBlockManager依据YA…
Spark tungsten 项目阅读笔记
Spark tungsten 项目阅读笔记 Spark tungsten 项目的宣言就是:Bringing Apache Spark closer Bare Metal. 我的理解就是不要让硬件成为Spark性能的瓶颈,无限充分利用硬件资源(CPU,内存,IO,网络). tungsten主要有3大动作. 1. Memory Mangement and Bianary processing:利用应用程序的语义去管理内存,减少JVM的开销和垃圾回收. 我的理解是利用sun.msic.UnSafe 去…
HashMap源码阅读笔记
HashMap源码阅读笔记 本文在此博客的内容上进行了部分修改,旨在加深笔者对HashMap的理解,暂不讨论红黑树相关逻辑 概述 HashMap作为经常使用到的类,大多时候都是只知道大概原理,比如底层是由数组+链表+红黑树实现,使用HashMap存储自定义类时需要重写其hashCode和equals方法等等--但对其具体如何实现却知之甚少,本文将作为类似笔记的形式记录笔者的源码阅读方式.(在JDK 1.7及其之前由数组加链表组成,正常情况想我们谈论的均为JDK 1.8及其之后的HashMap…
CopyOnWriteArrayList源码阅读笔记
简介 ArrayList是开发中使用比较多的集合,它不是线程安全的,CopyOnWriteArrayList就是线程安全版本的ArrayList.CopyOnWriteArrayList同样是通过数组实现,这个类的名字叫"CopyOnWrite ",它是在写入的时候拷贝数组,对副本进行操作. 原理 CopyOnWriteArrayList采用了一种读写分离的并发策略.CopyOnWriteArrayList容器允许并发读,读操作是无锁的,性能较高.至于写操作,比如向容器中添加一个元素,…
guavacache源码阅读笔记
guavacache源码阅读笔记 官方文档: https://github.com/google/guava/wiki/CachesExplained 中文版: https://www.jianshu.com/p/88ec858cc021?from=singlemessage 参考文档: 美团技术团队:<缓存那些事儿> https://tech.meituan.com/2017/03/17/cache-about.html 缓存在很多数情况下都非常有用,例如,如果计算一个值或者获取一个值时…