排序:
默认
按更新时间
按访问量

JVM学习笔记

java内存区域 java内存区域划分为:java堆、方法区(以及运行时常量池)、本地方法栈、虚拟机栈、程序计数器线程共享的区域是:java堆、方法区;线程隔离的是:本地方法栈、虚拟机栈、程序计数器。异常:程序计数器既不抛出StackOverFlow也不抛出OutOfMemoryErro...

2018-01-02 20:15:36

阅读数:70

评论数:0

HashMap源码阅读笔记

39-45行 注释:主要介绍了HashMap和HashTable的区别,即HashMap允许null作为键、值,而且HashMap不是线程安全的。并且HashMap中的元素不是有序的,特别的,也不保证随着时间推移,这个map中存储的顺序不发生改变。 解析:hashmap是线程不安全的,键、值都允...

2017-12-23 23:34:07

阅读数:120

评论数:0

Arrays.sort源码分析

2017.11.30 开始对JDK源码的阅读,在算法书上看到提及过这个,而且自己平时偷懒简单排一排的时候,也是使用这个方法进行排序,索性将它看上一看。 /** * The minimum array length below which a parallel sorting * algorithm...

2017-11-30 18:20:15

阅读数:169

评论数:0

Hadoop启蒙demo——单词统计WordCount(Intellij IDEA版)

写在代码之前 在网上搜了很多都说要打包jar,或者需要在环境变量中写入,比较繁琐。但是笔者写的这个代码也是能直接跑的,正常输出结果。主要是要有下面这行代码,会在控制台打印出运行结果并在完成后退出,这样看着比较直观一点。 System.exit(job.waitForCompletion(tru...

2018-06-04 15:42:59

阅读数:37

评论数:0

Hadoop初窥学习笔记

Hadoop核心组件 Hive 功能:用于将SQL语句转化为可执行的Hadoop任务,降低了使用门槛 Hbase 类型:存储结构化数据的分布式数据库 区别:放弃传统关系型数据库事务的特性,追求更高的扩展。并且提供对数据的随机读写和实时的访问,实现对表数据的读写功能 Zookeeper...

2018-05-30 18:25:27

阅读数:59

评论数:0

网络编程学习

BIO NIO AIO BIO(同步阻塞) Server端代码并启动 Client端代码 问题总结 NIO(New I/O 或者称之为 Non-Block I/O) 快捷键 BIO NIO AIO BIO(同步阻塞) 传统的网络编程模型中采用C/S模型,即客户端/服...

2018-04-30 22:57:19

阅读数:41

评论数:0

Java并发编程学习笔记(一)

第一部分:基础知识 第三章:对象的共享 3.2  发布与溢出  发布的定义:使得对象能够在当前作用域之外的代码中使用。  发布的注意事项:(1)发布对象可能会破坏封装性 (2)难以维持不变性,在构造完成前发布对象则会破坏线程安全性(引用逃逸)  (3)发布是连锁的。即比如我发布了A对象...

2018-02-07 20:28:41

阅读数:36

评论数:0

MySQL查询缓存

查询缓存 优点:(1)对于某些频繁出现的查询语句,可以减少I/O。缺点:(1)查询缓存需要占用一定的内存。(2)每次查询执行前都要先检查缓存,故不一定是有利的。缓存未命中的原因:(1)查询不在缓存中 (2)缓存失效 (3) 查询中包含不确定的函数,比如current_date。因此如果查...

2018-01-29 17:20:32

阅读数:122

评论数:0

常用设计模式学习

单例模式:这个肯定是用的最多的,分为两种:饿汉/懒汉(饱汉)式。这个模式通常用于针对那些创建非常消耗资源的类,在一个容器中就只创建一个作为全局变量,在Spring容器管理中默认就是采用的单例模式。 下面简单介绍一下,饿汉式顾名思义,就是饥不择食了,不管有没有需要用这个对象的,先把它给创建好了再说...

2018-01-16 20:51:57

阅读数:62

评论数:0

操作系统查漏补缺

进程的描述与控制 进程的描述 定义:程序+PCB(进程控制块)+数据集合,是系统资源分配的最小单位。目的:为了使程序并发执行,并能对其加以描述和控制。特征:动态性、并发性、独立性、异步性。三种基本状态:就绪态、运行态、阻塞态         进程的同步 ...

2018-01-15 16:34:15

阅读数:46

评论数:0

计算机网络查漏补缺

这篇文章相对来说就是自己复习总结了,可能知识点就不是特别成体系,想到哪补哪吧。 协议相关 应用层协议 HTTP/HTTPS协议:前者占用的80端口,后者是443端口;后者采用SSL(安全套接字层),以及加密算法/证书来保护安全性,相对来说在传输上花费的时间更长。S...

2018-01-14 20:49:28

阅读数:77

评论数:0

java线程安全的实现方法总结学习

java语言中的线程安全 将安全程度由强到弱排序:不可变、绝对线程安全、相对线程安全、线程兼容和线程对立,共五种情况不可变:典型的就是String类,这个就不多赘言。还有枚举类,以及Number类的部分子类,如Long/Double/BigInteger等大数类型。绝对线程安全:不论运行...

2018-01-14 16:21:52

阅读数:145

评论数:0

ConcurrentHashMap源码阅读笔记(JUC)

76-85行 注释:这里主要讲的是同为线程安全的Hash,HashTable和ConcurrentHashMap的区别。ConcurrentHashMap(下文用本类指代)虽然是线程安全的,但是检索操作(比如get,是不保证加以锁的),并且本类没有任何操作用于锁住整个类实例的表。本类并不是以同步锁...

2018-01-12 10:31:42

阅读数:55

评论数:0

JVM学习笔记(四)——类文件结构、字节码指令

Class类文件的结构 Class文件格式:由无符号数和表组成。无符号数属于基本数据类型,以u1/u2/u4/u8代表1、2、4、8个字节的无符号数。这个数可以用来描述数字、索引引用,数量之或者UTF-8编码的字符串值表:和广义表的定义有点像,它的元素可以是多个无符号数或者是其他表。前四个字...

2018-01-09 21:00:04

阅读数:49

评论数:0

MySQL学习笔记

零散知识点 ACID:原子性、一致性、隔离性、持久性事务的隔离级别,四种:(1)未提交读(可能出现脏读);(2)提交读(可能出现不可重复读);(3)可重复读(可能出现幻读,但mysql的innodb通过mvcc解决了这个问题);(4)可串行化读(行行加锁,太重了,一般不用) 索引篇...

2018-01-08 20:07:03

阅读数:596

评论数:0

JVM学习笔记(三)——虚拟机字节码执行引擎

运行时栈结构 栈帧是虚拟机进行方法 调用和方法执行的数据结构。它是虚拟机栈的栈中元素。主要由以下四种信息:(1)局部变量表  (2)操作数栈  (3)动态链接  (4)方法返回地址栈帧的大小是在编译时就可以确定的,比如需要多大的局部变量表,操作数栈有多深等等。因此,一个栈帧需要分配多少内存,...

2018-01-07 20:40:35

阅读数:75

评论数:0

JVM学习笔记(二)——虚拟机类加载机制

类加载的时机 类加载的生命周期: 加载验证、准备、解析(统称为连接),其中解析过程不像其他过程那样按部就班,它可以在初始化阶段之后再开始,也就是动态分派的基础,动态绑定。初始化使用卸载 什么时候开始类加载,共只有五种情况 遇到new,getstatic,puts...

2018-01-06 15:45:13

阅读数:61

评论数:0

算法-字符串

字符串排序 一、键索引计数法 时间复杂度:线性时间,排序N个键为0-R-1需要11N+4R+1次。因为不是继续比较的排序。计数排序嘛,分配型的排序方法,以空间换时间。

2017-12-22 21:44:40

阅读数:43

评论数:0

JAVA基础API

1、String subString()方法返回的子字符串和原字符串的value[]数组一样,并且多了偏移量和字符串长度,这也是为什么substring()方法能够在常数时间完成的原因。接上,由于substring()返回的实际是原字符串,所以s==s.substring(0)---->...

2017-12-22 20:45:16

阅读数:93

评论数:0

数据结构知识点总结

一、树 1、树(森林)和二叉树可以相互转化,规则是“左孩子右兄弟”,即当前节点的左孩子在由二叉树转化为树的过程中,左孩子还是当前节点的左孩子,而右节点会变成当前节点的兄弟。 2、设二叉树度为0的节点有N0个,度为2的节点为N2,则N2=N0+1 二、图 1、无向图的数据结构是邻接多重表,有向图的数...

2017-12-20 17:25:01

阅读数:141

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭