自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

根号三

Open and Share

  • 博客(242)
  • 资源 (12)
  • 收藏
  • 关注

原创 自己动手写对象池

一、设计对象池对于一个对象池来说,通常具备下面几个常用功能:获取对象归还对象销毁对象池大小最大空闲数 通常情况下,我们还会采用工厂方式来生成对象,所以,还需要一个设置工厂的方法设置生成对象的工厂

2017-04-05 13:35:01 677

原创 MySQL使用索引与不使用索引比较

首先,我们通过下面的方式生成1百万条数据。 http://blog.csdn.net/u011983531/article/details/67639678一、普通索引在不建立索引情况下,通过下面的语句查询age=20的人数SELECT count(1) FROM `t_user` WHERE age=20;耗时:1.2s通过下面的语句查看执行计划EXPLAIN SELECT count(1) F

2017-03-28 18:28:31 5693

原创 MySQL批量插入测试数据

CREATE PROCEDURE proc_batch_insert()BEGINDECLARE pre_name BIGINT;DECLARE ageVal INT;DECLARE i INT;SET pre_name=187635267;SET ageVal=100;SET i=1;WHILE i < 1000000 DO INSERT INTO t_user(`name`,age,phone

2017-03-28 17:43:44 6216 10

原创 new BigDecimal时,请使用字符串

一、构造BigDecimalBigDecimal提供了丰富的构造函数,可以通过int、long、double、String等来构造一个BigDecimal对象。但是,使用double作为参数的构造函数,无法精确构造一个BigDecimal对象,需要自己指定一个上下文的环境,也就是指定精确位。 例如:BigDecimal bg = new BigDecimal(1.1);System.out.pr

2017-03-28 15:48:02 13202

原创 ConcurrentHashMap线程安全问题

其实ConcurrentHashMap的put方法跟普通的HashMap没什么区别,如果key相同,依然会覆盖。要想达到不覆盖,我们可以使用putIfAbsent()方法。

2017-03-25 15:10:39 7850

原创 数据库常用查询

1、查询表结构SQLServer sp_help [table_name]; sp_columns [table_name];MySQL desc [table_name]; SHOW COLUMNS FROM [table_name]; SHOW FIELDS FROM [table_name];2、查看数据库版本号SQLServer SELECT @@version;MyS

2017-03-25 00:12:48 716

原创 Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded

OutOfMemoryError,大家都知道是内存溢出了,那么GC overhead limit exceeded又是什么意思呢?GC overhead limit exceeded 这是JDK6新增的错误类型,当GC占用大量时间释放很小空间时就会抛出这个异常,是JDK自身的一种保护机制。GC overhead limt exceed检查是通过统计GC时间来预测是否需要OOM。

2017-03-21 13:15:03 4374

原创 写代码实现堆溢出、栈溢出、永久代溢出、直接内存溢出

1. 栈溢出(StackOverflowError)2. 堆溢出(OutOfMemoryError:Java heap space)3. 永久代溢出(OutOfMemoryError: PermGen space)4. 直接内存溢出

2017-03-18 09:50:56 22029 3

原创 linux vim操作详解

首先,我们需要了解vim的三种模式命令模式 插入模式 底行(末行)模式三种模式的切换如下: 进入vim后,处于命令模式,通过i/a/o可以进入插入模式,通过冒号(:)可以进入底行模式。在底行模式和插入模式下,通过Esc返回命令模式。一、命令模式下的操作1、移动光标组合键(1)上下左右 k、j、h、l 分别表示上、下、左、右(2)文档开头、结尾 gg

2017-03-17 22:00:55 499

原创 Java并发之synchronized的实现原理

一、synchronized的实现原理1.Java对象头与Monitor  在JVM中,对象在内存中的布局分为三块区域:对象头、实例数据和对齐填充。 实例数据:存放类的属性数据信息,包括父类的属性信息,如果是数组,实例部分还包括数组的长度,这部分内存按4字节对齐。填充数据:由于虚拟机要求对象起始地址必须是8字节的整数倍。填充数据不是必须存在的,仅仅是为了字节对齐,这点了解即可...

2017-03-16 09:50:33 550 1

原创 JAVA获取资源路径、创建文件对象

创建文件对象时,可以使用new File(String path),当然,也可以通过new File(URI uri)。对于第二种方式,我们首先需要创建一个URI对象,而这个URI对象可以通过Class.getResource()、ClassLoader.getResouce()方法获取到。

2017-03-04 16:21:03 8040 5

原创 数据库驱动程序

一、什么是数据库驱动程序?JDK提供jdbc接口,就是java怎样去调用数据库,但是注意提供的只是接口,数据库提供商实现这些接口,就是所谓数据库驱动。java调用数据库驱动,驱动真正执行数据库操作。二、常用数据库的驱动程序Oracle数据库: 驱动程序包名:ojdbc14.jar 驱动类的名字:oracle.jdbc.driver.OracleDriver JDBC URL:jdbc:orac

2017-02-24 23:44:57 8942 1

原创 MySQL、SQL Server中字符串拼接

MySQL中,可以使用CONCAT函数进行字符串匹配,SQL Server中,可以直接使用加号"+"进行字符串拼接。另外,MySQL还提供了CONCAT_WS、GROUP_CONCAT函数,分别可以进行分隔符连接字符串及分组连接字符串。

2017-02-17 17:34:18 26109

原创 Spring MVC结果转换

一、返回视图——ModelAndView1、视图路径 默认在当前Control的路径下,/表示项目部署的根目录。 例如: new ModelAndView(“home.jsp”)返回的路径是/user/home.jsp new ModelAndView(“/home.jsp”)返回的路径是/home.jsp@Controller@RequestMapping("/user")public

2016-12-10 22:15:19 451

原创 MyBatis各种类型的入参使用方式

一、基本类型及其封装类型、String类型八大基本类型: boolean、char、byte、short、int、long、float、double1,long、Long类型的入参 parameterType既可以配置为java.lang.Long,也可以配置为long2,int、Integer类型的入参 parameterType既可以配置为java.lang.Integer,也可以配置为i

2016-12-10 21:30:11 12389 2

原创 分治算法实例

1、求x的n次幂public long power(int x,int n){ long result; if(n==1){ return x; }else{ if(n%2==0){ result = power(x,n/2)*power(x,n/2);

2016-12-07 09:36:08 972

原创 Could not open ServletContext resource [/WEB-INF/applicationContext.xml]

检查在DispatcherServlet中是否添加了init-param标签<servlet>

2016-12-05 08:59:29 354

转载 Cannot change version of project facet Dynamic web module to 2.5

我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一般现在至少都是2.5,在Project Facets里面修改Dynamic web module为2.5的时候就会出现Cannot change version of project facet Dyn

2016-12-04 20:29:32 363

原创 Maven项目上总有一个小红叉,但是其他地方没有,这是为什么?

1、查看problems选项卡,里面有对问题的描述2、工程右键->maven->update project(勾选Force Update)3、如果更新maven依赖不行,试试先将maven工程转换为一般工程,然后转换为maven工程。

2016-12-04 20:13:04 11130

原创 Redis info详解

1、内存使用情况used_memory :内存使用大小(以字节为单位)used_memory_peak:内存消耗峰值(以字节为单位)2、带宽instantaneous_input_kbps:输入带宽instantaneous_output_kbps:输出带宽3、命中率keyspace_hits:命中的key的个数keyspace_misses:未命中的key的个数

2016-11-11 13:51:16 5207 3

原创 MySQL的用户变量和系统变量

MySQL中的变量分为用户变量与系统变量。一、用户变量用户变量与数据库的连接相关,在一次连接中声明的变量,在连接断开后就会消失。 查看变量的时候,可以使用show avariables like '...'语句,设置变量时,可以使用set varname=value语句

2016-09-18 09:10:13 3971

原创 MySQL生成分布式id

一、分布式id算法首先需要在id_sequence表中配置一个唯一的key_name,分布式id的起始值和步长。 当服务需要分布式id时,会首先从数据库中获取一个start_id,然后将start_id更新成start_id+step。那么从start_id~start_id+step段内对的所有id,都属于当前这个服务了。如果start_id用完了,就会按照相同的流程重新申请一个start

2016-09-08 09:16:32 2252

转载 web.xml is missing and <failOnMissingWebXml> is set to true

解决这个问题最好的办法就是添加下面的插件配置:<groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><configuration> <failOnMissingWebXml>false</failOnMissingWebXml></configuration>

2016-09-04 23:31:26 2746

转载 修改Tomcat的默认上下文路径

方法一:修改tomcat配置文件server.xml在server.xml中的<Host>节点里面添加<Context>节点。方法二:在%CATALINA_HOME%\conf\[enginename]\[hostname]目录下添加配置文件。

2016-08-21 23:10:21 26758

原创 Android开发之armeabi

ARM与X86都是处理器的架构,ARM架构属于RISC指令集,X86构架属于典型的CISC指令集。arm abi,非正式称呼为eabi,是一种规范。

2016-05-27 11:40:40 2131

原创 如何维护Http请求的状态

我们都知道,Http协议是无状态的,也就是说,下一次请求并不知道上次请求的内容,那么,我们如何维护Http请求的状态呢?一、服务端处理:当浏览器第一次请求时,给请求者分配一个唯一标识,如:001,并随请求一同返回给请求者;创建一个Map结构,以用户标识为key,要维护的会话内容为value。二、客户端(浏览器)处理:第一次请求结束后,浏览器保存服务端分配的唯一标识浏览器每次向服务端发起请求

2016-05-22 10:26:41 1104 1

原创 TextView使用常见问题

1、Android中用`   `的组合表示一个汉字2、可以通过android:lineSpacingExtra或android:lineSpacingMultiplier属性来设置行间距

2016-05-14 11:03:37 434

原创 Exception raised during rendering: Could not initialize class android.widget.TextView Exception deta

如果遇到这个问题,重启Eclipse就好了

2016-05-10 21:53:01 1630

转载 深入hibernate的三种状态

学过hibernate的人都可能都知道hibernate有三种状态,transient(瞬时状态),persistent(持久化状态)以及detached(离线状态),大家伙也许也知道这三者之间的区别,比如瞬时状态就是刚new出来一个对象,还没有被保存到数据库中,持久化状态就是已经被保存到数据库中,离线状态就是数据库中有,但是session中不存在该对象。

2016-05-07 15:05:00 425

原创 JPA为字段设置默认值

JPA为字段设置默认值时,columnDefinition属性并不管用,建议大家直接为属性赋值。

2016-04-30 16:18:44 68156 11

转载 Spring的FactoryBean详解

在介绍FactoryBean之前,我们首先要分辨FactoryBean与BeanFactory的区别。BeanFactory: 以Factory结尾,表示它是一个工厂类,是用于管理Bean的一个工厂。FactoryBean:以Bean结尾,表示它是一个Bean,这个 Bean 不是简单的Bean,而是一个能生产或者修饰对象的”工厂 Bean”,它的实现是基于设计模式中的修饰器模式。一、常见的

2016-04-10 12:37:11 1224

转载 java项目debug 的时候总是跳转threadpoolexecutor

Eclipse -> Preferences ->Java ->Debug “Suspend execution on uncaught exceptions” 勾去掉 就不会进debug了注:Suspend execution on uncaught exceptions的意思是“当有未捕获的异常时暂停执行“

2016-03-30 10:19:45 867

原创 com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0

如果你在开发过程中遇到了上述的Bug,基本上是JDK版本不一致造成的,指的是搞版本的JDK编译的class不能放在低版本的JDK上运行。如果是Version 52,就表示JDK8编译的class不能运行在JDK7上,所以需要在本地安装JDK8. 如果是Version 51,就表示JDK7编译的class不能运行在JDK6上,所以需要在本地安装JDK7.

2016-03-27 18:12:20 17010 5

原创 Android真机调试时,Device的连接容易断开

开发Android项目时,使用真机调试的时候,Device的连接容易断开。经常出现远程关闭了一个现有连接。下面是我们经常用的一些解决方式: 1、关闭USB调试,重新打开 2、拔下数据线,重新连接 3、换一个USB接口,重新连接这些方式我在开发过程中都使用过,有时候能暂时解决问题,但终究是治标不治本。如果你也遇到过这种问题,不妨换一根数据线试试,也许就会收到意向不到的效果。

2016-03-27 18:06:26 11342

原创 如何禁用电脑上面的触摸板?

有时候我们需要禁用电脑上面你的触摸板,但是按了禁用按键后发现并没什么卵用(例如,联想电脑是F6),是因为没有安装触摸板驱动程序,下面给大家分享如何安装触摸板驱动程序,禁用触摸板。这里以联想电脑为例: 到官网下载对应的驱动,下载的驱动一定要跟电脑的型号一致,否则没有用。 下载完成后,解压,安装,然后执行安装目录下面的Install.exe,重启电脑即可。

2016-03-27 00:08:44 700

原创 java.lang.UnsatisfiedLinkError: Couldn't load hyphenate from loader dalvik.system.

java.lang.UnsatisfiedLinkError: Couldn't load hyphenate from loader dalvik.system.

2016-03-19 14:58:16 2046

原创 String与Integer的相互转化

String与Integer相互转化时,一定要注意空指针异常。

2016-03-14 17:16:56 87025 1

原创 ADT安装后没有图标Android SDK Manager图标

ADT安装后没有图标Android SDK Manager图标,也就是没有下图标注的图标: 解决方法: 1、Window->Perspective->Customize Perspective 2、在打开的窗口中勾选Android SDK and AVD Manager

2016-03-11 09:41:04 2365

转载 Java递归算法实例

递归(recursion):程序调用自身的编程技巧。递归满足2个条件:有反复执行的过程(调用自身)有跳出反复执行过程的条件(递归出口)

2016-03-10 22:29:46 1219

原创 正确理解 ThreadLocal 的原理与应用场景

一、ThreadLocal解决了什么问题网上有很多关于ThreadLocal解决了什么问题的资料,但是很多都是不正确的。不正确的理解ThreadLocal为解决多线程程序的并发问题提供了一种新的思路ThreadLocal的目的是为了解决多线程访问资源时的共享问题正确的理解看看JDK中的源码是怎么写的: 【原文】This class provides thread-...

2016-03-09 11:11:05 1015

AOP四种配置方式demo

一个介绍了AOP四种配置方式的Demo,方便您快速掌握AOP的配置。

2016-04-10

基于UDP协议通信的例子

一个基于UDP协议通信的简单例子,包括服务端和客户端,客户端向服务端发送数据,服务端收到数据后向客户端返回数据。

2016-03-03

Socket实现一对一聊天

使用Socket实现一对一聊天,包括客户端和服务端

2015-11-13

使用LinkedList模拟堆栈

使用LinkedList模拟堆栈操作,包括进栈、出栈,入队、出队

2015-11-09

Spring整合JMS——实现收发消息

Spring整合JMS,基于ActiveMQ实现收发消息

2015-11-04

ActiveMQ使用Ajax实现多人聊天室

ActiveMQ使用Ajax实现多人聊天室。

2015-11-03

ActiveMQ入门示例

ActiveMQ简单入门示例,采用点对点的通信方式

2015-11-03

Jedis操作5种数据类型

通过Jedis操作Redis中定义的5中数据类型

2015-10-29

Spring实现AOP的4种方式

Spring中实现AOP有很多方式,这里总结了四种,有基于代理的实现方式,也有基于AspectJ 的注解方式,还有基于AOP标签的配置

2015-10-25

Java实现先来先服务与短作业优先

通过Java实现常用调度算法中的先来先服务和短作业优先

2015-10-25

Java中的IO流类详解

对Java中重要的IO技术进行详尽的解析

2014-11-15

Java设计模式

对Java中常见的设计模式进行总结,得出的一套完备的笔记

2014-11-15

空空如也

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

TA关注的人

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