一.程序结构: 二.一些基础语法 1 一个源文件可以写多个类,每个类编译后都会生成一个字节码文件2 一个源文件可以写多个类,但只能有一个public类3 源文件名必须跟public类的类名一致4 一个源文件里可以不包含public的类,此时源文件名不需要跟任何一个类名相同 三.标志符,关键字 1 何 ...
分类:
编程语言 时间:
2019-02-01 14:13:39
阅读次数:
209
本文UML类图参考《Head First 设计模式》(源码)与《设计模式:可复用面向对象软件的基础》(源码)两书中介绍的设计模式与UML图。 整理常用设计模式的类图,一方面是为了练习UML,另一方面可以重新思考设计模式。当然,整理完成后可以作为一份手册供今后翻阅。 绘图工具:Visual Studi ...
分类:
其他好文 时间:
2019-01-29 11:59:01
阅读次数:
206
以前写过介绍HashMap的文章,文中提到过HashMap在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,在多线程的环境下,存在同时其他的元素也在进行put操作,如果hash值相同,可能出现同时在同 ...
分类:
其他好文 时间:
2019-01-25 19:17:27
阅读次数:
167
无锁的思想众所周知,Java中对并发控制的最常见方法就是锁,锁能保证同一时刻只能有一个线程访问临界区的资源,从而实现线程安全。然而,锁虽然有效,但采用的是一种悲观的策略。它假设每一次对临界区资源的访问都会发生冲突,当有一个线程访问资源,其他线程就必须等待,所以锁是会阻塞线程执行的。当然,凡事都有两面,有悲观就会有乐观。而无锁就是一种乐观的策略,它假设线程对资源的访问是没有冲突的,同时所有的线程执行
分类:
编程语言 时间:
2019-01-22 18:37:33
阅读次数:
265
测试用例 以上是采用中断方式的写法。 下面学习了poll机制后,做了改进: ...
分类:
系统相关 时间:
2019-01-17 10:52:53
阅读次数:
282
目标:以NAND Flash K9F2G08U0M为例介绍其结构及其驱动程序的书写 1. 结构 由芯片手册中的图可知:K9F2G08U0M大小为2112Mbits(即 256MB = 2Gb ) 共有2048Block=128K页 这里: 1个device=2048Block 1块Block=64P ...
分类:
其他好文 时间:
2018-12-26 20:07:03
阅读次数:
235
什么是AutoMapper? 在多层结构中,经常用到对象到对象的转化,手工去写复制太过麻烦。而AutoMapper就是一个可以实现自动转换的类库。 它提供了一些有趣的约定,从而弄清楚如何将类型A映射到类型B.只要类型B遵循AutoMapper建立的约定,映射两种类型几乎就是零配置。 怎么使用Auto ...
分类:
移动开发 时间:
2018-12-24 16:12:49
阅读次数:
139
关键词 常用关键字53个(含2个保留字): 1、保留关键字(2个) const ——常量 常数:用于修改字段或局部变量的声明。 goto——转到 指定跳转到标签,找到标签后,程序将处理从下一行开始的命令 2、访问修饰符的关键字(3个) public (公有的) 可跨包 protected (受保护的 ...
分类:
编程语言 时间:
2018-12-19 17:07:18
阅读次数:
225
volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存(主存)中重读该成员变量的值,而且,当成员变量发生变化时,强迫线程将变化值写到共享内存(主存)中。 但是,对应volatile修饰的变量,jvm虚拟机只是保证从主内存加载到线程工作内存的值是最新的。例如线程1 线程2在进行read l ...
分类:
其他好文 时间:
2018-12-18 00:08:10
阅读次数:
232
一:for循环和java8的性能比较如下: // 一个大的 ArrayList,内部是随机的整形数据volatile List<Integer> integers = … // 基准测试 1public int forEachLoopMaxInteger() { int max = Integer. ...
分类:
编程语言 时间:
2018-12-14 15:37:04
阅读次数:
220