自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

转载 《剑指offer》:[62]序列化二叉树

题目:请实现两个函数,分别来序列化和反序列化二叉树。方案分析:我们知道通过二叉树的中序和任何一个前或者后续遍历都可以反序列化一棵二叉树,但是这样做有一个缺点就是,序列化的数据不能有重复的数据,否则会出错。另外,在反序列化时,需要知道中序和另外的任意一种序列才行,如果两课二叉树在字符流里读出,且二叉树的数据比较多,则会相当的耗时。所以,这里我们采取前序遍历来完成序列化和反序列化,因为...

2017-10-11 15:43:00 105

转载 group by语法

group by 用法解析group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。某个员工信息表结构和数据如下: id name dept salary edlevel hiredate 1 张三 开发...

2017-10-11 11:54:00 141

转载 Mysql两种引擎

Innodb引擎Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别。该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQL后台的完整数据库系统,mysql运行时Innodb会在内存中建立缓冲池,用于缓冲数据和索引。但是该引擎不支持FULLTEXT类型的索引,而且它没有保存表的行数,当SELECT COUNT(...

2017-09-05 12:27:00 148

转载 线程池大小设置

转载,学习了。http://www.cnblogs.com/lengender-12/p/6869554.htmlAmdahl定律其实是这方面的核心,可以钻研下。转载于:https://www.cnblogs.com/qiuhaojie/p/7404647.html

2017-08-21 15:24:00 114

转载 Synchronized及其实现原理

转载,太好了!http://www.cnblogs.com/paddix/p/5367116.html转载于:https://www.cnblogs.com/qiuhaojie/p/7402093.html

2017-08-20 23:47:00 68

转载 CAS ABA问题

java.util.concurrent包的最底层基础CAS技术,原理很简单。CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。引发ABA问题:如果变量V初次读取的时候是A,并且在准备赋值的时候检查到它仍然是A,那能说明它的值没有被其他线程修改过了吗?如果在这段期间它的值曾经被改成了B,然后又改回A,...

2017-08-15 11:02:00 82

转载 serialVersionUID的作用

serialVersionUID的作用:序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。类实现了Serializable接口时,如果没有定义serialVersionUID,在Eclipse中会提示你去定义,在Eclipse中点击类中的warning图标时,Eclipse提供给我们两种方式去生成serialVersionUID,分别是: 1)默认的1L,如...

2017-08-02 11:06:00 107

转载 JDK1.8的HashMap数据结构及红黑树

在JDK1.6,1.7中,HashMap的实现都是用基础的“拉链法”去实现,即数组+链表的形式。如下图:通过不同的hash值,来对数据进行分配存储。关于HashMap的Entry长度,可以参考http://wiki.jikexueyuan.com/project/java-collection/hashmap.html简要来说,要保证初始化时 HashMap 的容量总是 2 的 ...

2017-08-02 11:03:00 95

转载 求两个有序数组的中位数或者第k小元素(转载)

http://www.cnblogs.com/TenosDoIt/p/3554479.htmlhttp://www.cnblogs.com/TenosDoIt/p/3675220.html转载于:https://www.cnblogs.com/qiuhaojie/p/7252461.html

2017-07-28 20:25:00 81

转载 算法题

public class Test6 { public int judge(String s,int length){ int sum=0,i=0; for(i=0;i<length-2;i++){ if(s.charAt(i)==s.charAt(i+1) && s.charAt(...

2017-07-28 19:38:00 69

转载 java中Array/List/Map/Object与Json互相转换详解(转载)

http://blog.csdn.net/aa4790139/article/details/8587208转载于:https://www.cnblogs.com/qiuhaojie/p/7243915.html

2017-07-27 11:28:00 56

转载 观察者模式(转载)

http://www.cnblogs.com/java-my-life/archive/2012/05/16/2502279.html转载于:https://www.cnblogs.com/qiuhaojie/p/7155428.html

2017-07-12 14:50:00 62

转载 TCP协议

三次握手:四次挥手:关于释放连接:转载于:https://www.cnblogs.com/qiuhaojie/p/7154747.html

2017-07-12 12:04:00 134

转载 “数字签名”与“数字证书”

转载一篇通俗易懂的文章:http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html“数字证书”就是为了保证,服务器是真实的服务器,而不是黑客。再转载一篇https协议的文章:http://www.cleey.com/blog/single/id/828.html还是下面这篇...

2017-07-11 16:42:00 72

转载 两道笔试题

Write an algorithm to determine if a number is "happy".A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the sq...

2017-07-01 11:42:00 84

转载 定时任务处理过程中的问题

前段时间做了业务系统定时任务的一个需求,其中遇到几个问题,有必要思考并沉淀下来,分享出来。业务系统的定时任务:指的是针对业务系统,每隔指定的一段时间,就做一次任务。那么,这个通知由谁来发?(1)可以由业务系统自己来指定,利用多线程,指定时间执行一次就OK。但是这样带来的问题是,随着定时任务的越来越多,线程也会越来越多,而且这些线程须一直运行着,无疑对业务系统是一种庞大的负担。同时...

2017-06-30 16:29:00 290

转载 行数据库VS列数据库

一、介绍目前大数据存储有两种方案可供选择:行存储和列存储。业界对两种存储方案有很多争持,集中焦点是:谁能够更有效地处理海量数据,且兼顾安全、可靠、完整性。从目前发展情况看,关系数据库已经不适应这种巨大的存储量和计算要求,基本是淘汰出局。在已知的几种大数据处理软件中,Hadoop的HBase采用列存储,MongoDB是文档型的行存储,Lexst是二进制型的行存储。顾名思义,这两种数...

2017-06-26 19:52:00 127

转载 B树和B+树

B(Balanced)树(注意:B树就是很多人口中所说的B-树,这是不专业的,不要区分两者)和B+树是用来对操作系统的文件索引和数据库索引而提出的数据结构,通俗点讲,两者都是有序数组+平衡多叉树。B树的定义:一棵m阶的B树,或为空树,或为满足下列特性的m叉树(1)树中的每个结点至多有m棵子树;(2)若根结点不是叶子结点,则至少有2棵子树;(3)除根结点之外的非终端结点至少...

2017-06-21 17:57:00 80

转载 ThreadPoolTaskExecutor介绍

ThreadPoolTaskExecutor是一个spring的线程池技术,其实,它的实现方式完全是使用ThreadPoolExecutor进行实现。对于ThreadPoolExecutor,有一些重要的参数如下:(1)int corePoolSize:线程池维护线程的最小数量.(2)int maximumPoolSize:线程池维护线程的最大数量.(3)long keepAli...

2017-06-20 20:40:00 164

转载 CountDownLatch、CyclicBarrier和Semaphore

分享学习好文http://www.cnblogs.com/dolphin0520/p/3920397.html1)CountDownLatch和CyclicBarrier都能够实现线程之间的等待,只不过它们侧重点不同:    CountDownLatch一般用于某个线程A等待若干个其他线程执行完任务之后,它才执行;    而CyclicBarrier一般用于一组线程互相...

2017-06-20 19:53:00 56

转载 可重入锁

可重入锁,也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,内层递归函数仍然有获取该锁的代码,但不受影响。在JAVA环境下 ReentrantLock 和synchronized 都是 可重入锁。下面是使用实例:public class Test implements Runnable{ public synchronized void get(){ System...

2017-06-09 21:47:00 61

转载 guava multimap介绍

引用一篇别人的博客,理解理解http://vipcowrie.iteye.com/blog/1517338转载于:https://www.cnblogs.com/qiuhaojie/p/6973846.html

2017-06-09 21:31:00 121

转载 Tomcat运行机制

Tomcat其实就是一个servlet的容器,因此,它在运行过程中,首先要做以下事情:1、实现servlet api规范。如request、response、cookie、session等,容器对其要有一套完整的实现。2、启动Socket监听端口,等待http请求。3、获取http请求,分发请求给不同的协议处理器,比如http和https的协议处理器是不同的。4、封装请求...

2017-06-05 11:50:00 161

转载 GC垃圾收集算法

JVM中的垃圾收集算法实现涉及大量的程序细节,而且各个平台的虚拟机操作内存的方法又各不相同,这里介绍几种垃圾收集算法的思想。1、标记-清除算法 这是最基础的垃圾收集算法,分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成之后统一回收所有被标记的对象。它的不足之处有两个:1、效率问题,标记和清除两个过程的效率都不高。2、空间问题,在清除过程后,会产生很...

2017-06-02 15:19:00 55

转载 GC判断哪些内存需要回收

GC的问题,主要分为:1、哪些内存需要回收?2、什么时候回收?3、如何回收?这里主要讲第一个问题。1、哪些内存需要回收?垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”,哪些已经“死去”(即不可能再被任何途径使用的对象)。(1)引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数...

2017-06-02 12:11:00 245

转载 JVM类加载器以及双亲委派模型

从java开发人员的角度来看,类加载器可以分为3种:1、启动类加载器(Bootstrap ClassLoader),负责将存放在<JAVA_HOME>\lib目录中,或者被-Xbootclasspath参数所指定的路径中,并且是虚拟机识别的类库加载到虚拟机内存中。2、扩展类加载器(Extension ClassLoader),这个加载器负责<JAVA_HOME&...

2017-06-02 10:56:00 61

转载 深入分析ConcurrentHashMap

线程不安全的HashMap因为多线程环境下,使用HashMap进行put操作会引起死循环(死锁),导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。效率低下的HashTable容器HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法时...

2017-05-25 16:25:00 50

转载 BeanCopier类

网上学习了一番BeanCopier类。cglib是一款比较底层的操作java字节码的框架。下面通过拷贝bean对象来测试BeanCopier的特性:public class OrderEntity { private int id; private String name; // Getters and setters are om...

2017-05-15 14:49:00 182

转载 Quartz技术原理

Quartz运行基本:(1) 创建任务jobDetail(放入具体的jobImpl),触发器trigger(保存job的触发策略),均放入调度器scheduler。(2) 执行scheduler.start()。(3) 对于quartz.properties,要求较高的场景需要自定义配置,比如设置足够多的线程数。否则使用默认配置即可满足。...

2017-05-11 20:02:00 112

转载 乐观锁与悲观锁

在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:l丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。l脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改为2,用户...

2017-05-11 12:11:00 53

转载 工厂模式

意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。关键代码:创建过程在其子类执行。应用实例:1、您需要一辆汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的...

2017-05-02 20:25:00 109

转载 单例模式

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯...

2017-05-02 20:07:00 128

转载 抽象工厂模式

意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。主要解决:主要解决接口选择的问题。何时使用:系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。如何解决:在一个产品族里面,定义多个产品。关键代码:在一个工厂里聚合多个同类产品。应用实例:工作了,为了参加一些聚会,肯定有两套或多套衣服吧,比如说有商务装(成套,一系列具体产品)、时尚装(成...

2017-05-02 19:57:00 47

转载 简述一下你了解的设计模式

所谓设计模式,就是一套被反复使用的代码设计经验的总结(情境中一个问题经过证实的一个解决方案)。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使人们可以更加简单方便的复用成功的设计和体系结构。将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。在GoF的《Design Patterns: Elements of Reusable Obje...

2017-05-02 19:41:00 313

转载 Servlet跳转方式sendReDirect()和forward()

在web应用服务中,经常会面对不同SERVLET之间的跳转,目前我们可以通过以下两种方式实现:1.RequestDispatcher.forward()2.ServletResponse.sendReDirect()两者的区别:1.redirect方式可以跨应用访问,forward 只能在同一个应用中跳转。2.forward 客户端访问服务器,服务器找到要跳转...

2017-05-02 17:15:00 148

转载 Two Sum

Given an array of integers, returnindicesof the two numbers such that they add up to a specific target.You may assume that each input would haveexactlyone solution, and you may not u...

2017-03-27 18:50:00 60

转载 HashMap和HashTable

HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题。HashMap的工作原理、ArrayList与Vector的比较以及这个问题是有关Java 集合框架的最经典的问题。Hashtable是个过时的集合类,存在于Java API中很久了。在Java 4中被重写了,实现了Map接口,所以自此以后也成...

2017-03-27 17:21:00 60

转载 jar包运行出现中文乱码的问题

写了一个java Project,在eclipse里运行的时候不会出现乱码,但是用jar包运行的时候,出现了中文乱码。我将它包装成了一个文件,这样就在没有jre的机器上也可以运行了。start.bat里面是.\jre\bin\java -jar .\WriteToExcel5.jar。但输出中文乱码。将start.bat改为.\jre\bin\java -Dfile.enco...

2016-09-06 15:57:00 1075

转载 内部类实例化Serializable

昨天在做一个java项目的时候,发现下面代码中红色字体那行总是报NotSerializableException,查错误,MyRectangle这个类也明明实现了Serializable接口。花了大半天,原来发现虽然MyRectangle虽然实现了Serializable接口,但MyRectangle在我的项目中是以内部类的形式定义的,而内部类不能被序列化!对于内部类来说,...

2016-09-02 20:38:00 615

转载 《程序实现》从xml、txt文件里读取数据写入excel表格

直接上码import java.io.BufferedReader;import java.io.DataInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStr...

2016-09-02 20:24:00 151

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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