笔记-Mysql索引

 

2018-11-14 09:31:17

阅读数 38

评论数 0

读书笔记:性能调优

1.通常使用Synchronized关键字同步代码,可读性好,如果涉及性能问题,可以使用显式的Lock对象 2.免锁容器:通用策略:对容器的修改可以与读取操作同时发生,只要读取者只能看到完成修改的结果即可。修改是在容器数据结构的某个部分的一个单独的副本上执行的,并且这个副本在修改过程中不可视。只...

2018-07-19 10:03:53

阅读数 46

评论数 0

读书笔记:新类库中的构件

1.CountDownLatch:被用来同步一个或多个的同步任务,强制它们等待由其他任务执行的一组操作完成。可以向CountDownLatch对象设置一个初始计数值,任何在这个对象上调用wait()方法都将阻塞,直到这个计数值到达0。其他任务在结束工作的时候,可以在这个对象上调用countDown...

2018-07-19 09:37:11

阅读数 44

评论数 0

读书笔记:死锁

概念:某个任务在等地另外一个任务,后者又在等待别的任务,一直下去,直到这个链上的任务又在等第一个任务释放锁,这就得到了一个人任务之间互相等待的连续循环,没有哪个线程能够继续,叫死锁。 同时满足四个条件就发生死锁: 1.互斥条件,任务使用的资源中至少有一个是不能共享的 2.至少有一个任务它必须...

2018-07-18 14:56:12

阅读数 46

评论数 0

读书笔记:notify和notifyAll

1.由于在技术上可能有多个任务在单个对象上出于wait()状态,因此使用notifyAll()比notify()更安全 2.notify()在众多等待同一个锁的任务中只有一个被唤醒,如果使用notify,必须保证被唤醒的是正确的任务;为了使用notify,所有任务必须等待相同的条件,如果有很多任...

2018-07-18 11:23:19

阅读数 1253

评论数 0

读书笔记:线程间的协作

1.锁机制可以很好的解决线程之间资源的竞争访问,通过wait和notify实现线程间的握手合作 wait:调用sleep方法锁并没有施放,调用yield也是同样的情况。当一个任务在方法里遇到了对wait的调用的时候,线程的执行被挂起,对象上的锁被施放,这意味着另外的一个任务可以获取这个锁,因此该...

2018-07-18 11:13:51

阅读数 53

评论数 0

读书笔记:解决共享资源的竞争

1.基本上所有的并发模式在解决线程冲突,都采用序列化访问共享资源的方案,意味着在给定时刻只允许一个任务访问共享资源。通常就是在代码前加上一条锁的语句来实现,这就使得一段时间内只有一个任务可以运行这段代码。因为锁语句产生了一种互斥的效果,所以这种机制也称互斥量。 2.java提供关键字synchr...

2018-07-18 08:37:14

阅读数 121

评论数 0

缓存器细节

ByteBuffer由数据和可以高效地访问以及操作这些数据的四个索引组成,这四个索引是:mark(标记)、position(位置)、limit(界限)和capacity(容量)部分方法:capacity():返回缓存区的容量clear():清空缓存区,将position设置0,limit设置为容量...

2018-07-16 14:53:57

阅读数 104

评论数 0

ByteBuffer编码和解码设置

FileChannel fileChannel2=new FileInputStream("D:\\abr.txt").getChannel(); Charset charset=Charset.forName("utf-8"...

2018-07-16 14:06:07

阅读数 837

评论数 0

ByteBuffer

FileChannel in=new FileInputStream("D:\\abr.txt").getChannel(); File file=new File("D:\\abc.txt"); if (!file....

2018-07-16 13:43:58

阅读数 47

评论数 0

容器的选择

List选择:1.对于有数组组成的ArrayList,无论列表的大小如何,get和set访问速度很快和一致。LinkedList,访问时间对于较大的列表明显增加访问时间2.在ArrayList列表插入元素,必须创建空间并把所有的引用向前移动,这会随着Arraylist的尺寸增加带来负担;Linke...

2018-07-13 10:11:48

阅读数 79

评论数 0

hashcode和equals

HashCode最重要的因素:1.无论何时,对同一个对象调用hashcode()都应该生成同样的值。2.想要使用hashcode实用,必须速度快,并且有意义,也就是,它必须基于对象的内容生成散列码,散列码不必要是独一无二的,更应该关注的是速度,但是通过hashcode()和equals()这两个方...

2018-07-13 09:13:24

阅读数 51

评论数 0

读书笔记:set和map

Set和存储顺序:Set(interface):存入set的元素都必须是唯一的,set不保存重复元素。加入set的元素必须定义equals()方法以保证对象的唯一性。Set和Collection有完全一样的接口。Set接口不保证元素的次序HashSet:为快速查找而设计的Set,存入HashSet...

2018-07-12 16:46:27

阅读数 39

评论数 0

读书笔记:数组

为什么是数组?数组就是一个简单的线性序列,元素的访问速度非常快,但是这种速度的代价就是在其生命周期内,数组对象的大小是被固定的;数组可以在编译器来提醒你插入或取出合适的数据类型;数组可以保存基本数据类型,容器是基于自动拆包装包才可以保存基本类型;在保持方面,对象数组保存对象的引用,基本数据类型保存...

2018-07-12 14:31:00

阅读数 45

评论数 0

读书笔记:字符串

1.不可变的Sring:String作为参数,实际传递的是一个引用的一个拷贝,该引用所指的对象一直在单一的物理位置上,保持不动。2.重载“+”和StringBuilder:重载“+”编译器不断的构建StringBuilder对象,调用toString()方法;字符串的拼接使用StringBuild...

2018-07-11 10:39:38

阅读数 38

评论数 0

读书笔记:持有对象

List保存有序可以重复元素ArrayList长于随机访问元素,但在List的中间插入和移除元素时比较慢。LinkedList在list中间插入和移除元素性能高,随机访问速度慢,可以封装队列、栈和双向队列Stack 栈,后进先出的容器set:保存无序不能重复元素HashSet 使用散列,查询速度快...

2018-06-28 09:37:01

阅读数 51

评论数 0

javaweb高并发优化(慕课)

1 系统分析,主要分析高并发系统瓶颈,关注事物、锁、gc和网络延迟带来影响2 动静分离,将静态资源保存在CDN上,动态资源通过接口获取3使用缓存,从redis中读取速度大于数据库中读取4服务和缓存集群...

2018-04-27 17:54:17

阅读数 262

评论数 0

Servlet工作原理解析

1 Servlet容器Tomcat容器分四个等级,真正管理servlet的容器是context容器,一个web应用对应一个context容器,也就是servlet运行时的servlet容器。添加一个web应用创建一个standcontext容器,并且给这个context设置必要的参数,url和pa...

2018-03-12 21:19:47

阅读数 377

评论数 0

JVM内存管理

1 物理内存和虚拟内存物理内存就是通常所说的RAM(随机存储器),每一个进程在的内存空间在逻辑上是独立的。虚拟内存:使多个进程在同时运行时可以共享物理内存,但物理内存在逻辑依旧保持独立,还可以扩展内存的地址空间。2 Java中需要内存的组件2.1 Java堆:用来保存java对象的内存区域,堆的大...

2018-03-11 15:22:02

阅读数 63

评论数 0

百度UNIT平台

1.  场景:一个场景对应一个独立的系统,通常按垂直类划分,场景下的对话单元完成场景各种对话任务 2.对话单元:定义了系统在一个场景下对用户对话的理解和回复规则  意图:用户的目的(查询是否有雨)  词槽:完成该对话需要提供的必要条件(时间、地点)  对话样本:开发者告诉系统该怎么理解意图...

2017-10-17 13:08:34

阅读数 2902

评论数 0

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