- 博客(25)
- 资源 (5)
- 收藏
- 关注
原创 java内存模型
java内存模型1.内存模型2.volatile2.1可见性2.2禁止指令重排序优化3.先行发生原则1.内存模型内存模型可以理解为在特定的操作协议下,对特定的内存或高速缓存进行读写访问的过程抽象。在多处理器计算机系统中,每个处理器都有自己的高速缓存,且所有处理器都共享同一主存:缓存一致性(Cache Coherence)是多处理器系统必须解决的问题,当多个处理器的运算任务都涉及同一块主存...
2019-09-13 23:05:28 138
转载 二分查找各种情况大总结
本文转自:https://blog.csdn.net/yefengzhichen/article/details/52372407 二分查找多次刷题时遇到,虽然每次也能写对,但花了蛮多时间,没好好想过。而且网上的太多版本,并不是很简洁,而且边界条件变化情况太多,容易混淆,下面是自己对二分查找的一些思考和总结,尽量写得简单易懂。三种基本版本: 1.1 二分查找原始版–查找某个数的下标(任意一...
2018-04-17 16:28:26 256 1
转载 MYSQL索引:对聚簇索引和非聚簇索引的认识
本文转自:http://blog.csdn.net/alexdamiao/article/details/51934917 聚簇索引是对磁盘上实际数据重新组织以按指定的一个或多个列的值排序的算法。特点是存储数据的顺序和索引顺序一致。 一般情况下主键会默认创建聚簇索引,且一张表只允许存在一个聚簇索引。在《数据库原理》一书中是这么解释聚簇索引和非聚簇索引的区别的: 聚簇索引的叶子节点就是数据
2018-02-07 13:27:18 324
原创 redis在京东到家的订单中的使用
redis作为一款性能优异的内存数据库,在互联网公司有着多种应用场景,下面介绍下redis在京东到家的订单列表中的使用场景。主要从以下几个方面来介绍:1.订单列表在redis中的存储结构2.redis和DB数据一致性保证3.redis中的分布式锁4.缓存防穿透和雪崩下面详细介绍每一项。1.订单列表在redis中的存储结构订单列表数据在缓存中,是以用
2018-01-16 14:02:08 803
原创 LinkedHashMap源码分析
LinkedHashMap是HashMap的一个子类,底层存储结构和HashMap一样,也是数组+Entry链表,不过这个Entry和HashMap中的Entry稍微有点区别,后面会详细介绍。put操作和get的大部分操作都是调用的HashMap方法来完成的.LinkedHashMap比HashMap多了什么功能呢?多了一个通过迭代器迭代所有元素时可以按照插入时的顺序进行迭代的功能。这个维持插入顺序
2017-12-08 17:53:53 135
原创 ThreadPoolExecutor.Worker内部类分析
上一篇文章分析了ThreadPoolExecutor线程池类,明白了池中的线程和任务队列是如何工作的,文章链接:http://blog.csdn.net/wangjiang87/article/details/78672373,这篇文章分析下Worker内部类来了解下池中的线程数量是如何逆向减少的。 Worker是实现了Runnable接口,主要的成员变量: Runnable firstTask
2017-11-30 10:01:59 656 1
原创 ThreadPoolExecutor线程池源码分析
开始沉下心来好好分析jdk的类: 1.ThreadPoolExecutor中的主要变量:runState:线程池的状态 有三种:RUNNING:0;SHUTDOWN:1;STOP:2;TERMINATED:3,默认是0;BlockingQueue<Runnable> workQueue:所有要执行的任务;HashSet<Worker> workers:池中所有的线程,它的数量和poolSize
2017-11-30 09:39:11 271
原创 HashMap源码分析
HashMap应该算是工作中用到的频率最高的数据结构了,网上也有很多人分析过HashMap的源码,但为了加深印象,逼自己好好阅读源码,还是自己试着看源码进行一次自己的分析。正如类里注释所说:除了支持null值和null键,线程不安全之外,功能大致和HashTable一致。可以用常量时间get和put元素,HashMap不保证元素的顺序。HashMap的capacity和load factor两个属性
2017-11-29 19:53:45 177
原创 LinkedList源码分析
LinkedList虽然和ArrayList都实现了List接口,但两者的底层数据结构截然不同。从类名可以看出,ArrayList底层数据结构是数组,而LinkedList底层数据结构是双向链表。两者数据结构的优劣如下,ArrayList按下标查询元素速度快,但插入元素或者删除元素效率低,因为都设计到元素的大量移动,而LinkedList插入或删除元素速度较快,查询中间元素效率较低,因为查询元素需要
2017-11-28 14:59:11 166
原创 ThreadPoolExecutor.Worker内部类分析
上一篇文章分析了ThreadPoolExecutor线程池类,明白了池中的线程和任务队列是如何工作的,这篇文章分析下Worker内部类来了解下池中的线程数量是如何逆向减少的。Worker是实现了Runnable接口,主要的成员变量:Runnable firstTask:执行run方法中的循环中第一个要执行的任务,有可能为nullThread thread:work就是执行在这个线程当中
2017-10-27 16:01:36 640
原创 ThreadPoolExecutor线程池源码分析
开始沉下心来好好分析jdk的类:1.ThreadPoolExecutor中的主要变量:runState:线程池的状态 有三种:RUNNING:0;SHUTDOWN:1;STOP:2;TERMINATED:3,默认是0;BlockingQueue workQueue:所有要执行的任务;HashSet workers:池中所有的线程,它的数量和poolSize保持一致;long k
2017-10-26 18:27:12 317 1
原创 java消息服务学习笔记-1
本文是自己在看java消息服务这本书时的一个笔记。java消息服务即是JMS。何为JMS?JMS是javaEE13种技术规范中的一种。javaEE规范有:JDBC、JNDI、EJB、RMI、XML、JavaMail、Java Servlet、Jave IDL/CORBA、JAF、JMS、JSP、JTA、JTS。JMS是SUN公司制定的,包名都是以javax.jms开头的一组API,它是
2017-10-20 13:05:10 206
转载 Java的多态及注意事项
转自:http://blog.csdn.net/rainnnbow/article/details/49332087什么是多态: 多态不但能够改善代码的组织结构和可读性,还能够创建可扩展的程序。在Java中,所有的方法都是通过动态绑定实现多态的。将一个方法调用同一个方法主体关联起来被称作绑定。动态绑定的含义是在运行时根据对象的类型进行绑定。动态绑定也叫作后期绑定或运行时绑定
2016-02-02 11:03:08 959
转载 Java异常处理和设计
转自:http://www.cnblogs.com/dolphin0520/p/3769804.html在程序设计中,进行异常处理是非常关键和重要的一部分。一个程序的异常处理框架的好坏直接影响到整个项目的代码质量以及后期维护成本和难度。试想一下,如果一个项目从头到尾没有考虑过异常处理,当程序出错从哪里寻找出错的根源?但是如果一个项目异常处理设计地过多,又会严重影响到代码质量以及程序的性
2016-01-14 17:10:49 356
转载 Java clone() 浅克隆与深度克隆
以下文字转自:桔子园 http://www.blogjava.net/orangelizq/archive/2007/10/17/153573.html 现在Clone已经不是一个新鲜词语了,伴随着“多莉”的产生这个词语确实很“火”过一阵子,在java中也有这么一个概念,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如
2016-01-14 15:55:54 355
转载 jxl导出exl
<br />JXL导出Excel数据表(转载)<br />文章出自:http://www.dlog.cn/nicholascoder/diary/6575<br /> 封装了一个简单易用、通用、动态的从数据库导出到Excel的方法,可以动态的指定导出那些列,显示什么名字,按什么顺序显示;支持本地文件存储和JSP/Servlet文件下载。<br />本方法包括两个类,Column是辅助类,Excel是主类:<br />/**<br /> * 用于Excel导出的辅助类,映射数据结果集(ResultS
2010-08-03 12:10:00 615
转载 oracle中的rownum伪列深层分析
对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(,>=,=,between..and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来,其实您只要理解好了这个 rownum 伪列的意义就不应该感到惊奇,同样是伪列,rownum 与 rowid 可有些不一样,下面以例子说明假设某个表 t1(c1
2010-05-12 17:30:00 472
原创 oracle中的分析函数
分析函数,最早是从ORACLE8.1.6开始出现的,它的设计目的是为了解决诸如“累计计算”,“找出分组内百分比”,“前-N条查询”,“移动平均数计算”"等问题。其实大部分的问题都可以用PL/SQL解决,但是它的性能并不能达到你所期望的效果。分析函数是SQL言语的一种扩充,它并不是仅仅试代码变得更简单而已,它的速度比纯粹的SQL或者PL/SQL更快。现在这些扩展已经被纳入了美国国家标准化组织SQL委
2010-03-18 10:25:00 1276
原创 oracle中,分组后,取各组的前n条记录的sql语句:rownumber() over()
row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的). 与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码. row_n
2010-03-18 10:10:00 6973 2
原创 oracle中,分组后,取各组的前n条记录的sql语句:rownumber() over()
row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的). 与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码. row_n
2010-03-18 10:08:00 1264
原创 不错的网址
http://www.effectgames.com/effect/ http://abeautifulsite.net/Js写的游戏哦,有雷电,超级玛丽等
2010-03-10 17:39:00 428
原创 自定义ie右键菜单
html>head>meta http-equiv="Content-Type" content="text/html; charset=gb2312">title>自定义鼠标右键弹出式菜单title>style type="text/css">.div1 { border-top:buttonface 1px solid;border-left:buttonface 1px solid;bord
2010-03-10 17:28:00 894
原创 两个没有父子关系的html之间如何传递数据
比如说现在有两个毫无关系的html页面:a.html;b.html从a.html跳到b.html时如何在b.html页面中获得a.html传过来的数据呢?代码如下:在a.html中有一个连接指向b.html,转到b在b.html中就可以通过js这样获得name的值var name=window.location.seach(此时name的值为?name=wangzheguilai
2010-03-04 15:00:00 2749 1
原创 oracle中遍历树形结构的方法
start with....connect by prior....子句例如:employee表中的数据如下:employee_id name manager_id 1 A null 2 B 1 3
2009-11-20 22:43:00 906
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人