自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA的值传递与参数传递

JAVA引用传递和值传递

2017-08-17 21:32:03 478

原创 数据库并发事务中的问题与解决方案

一、事务的4大特性(ACID)1. 原子性(Atomicity):事务是数据库的逻辑工作单位,它对数据库的修改要么全部执行,要么全部不执行。2. 一致性(Consistemcy):事务前后,数据库的状态都满足所有的完整性约束。3. 隔离性(Isolation):并发执行的事务是隔离的,不会相互影响。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每

2017-08-07 19:45:22 9490

原创 JVM垃圾收集器详解

一、概述评估一个垃圾收集(GC)算法如何根据如下两个标准:1. 吞吐量(throughput)吞吐量是指应用程序线程用时占程序总用时的比例。 例如,吞吐量99/100意味着100秒的程序执行时间应用程序线程运行了99秒,而在这一时间段内GC线程只运行了1秒。2. 暂停时间(pause times)暂停时间是指一个时间段内应用程序线程让与GC线程执行而完全暂停。 例如,GC期

2017-08-06 15:16:57 404

原创 MYSQL com.mysql.jdbc.PacketTooBigException错误

Error updating database.  Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (10113 > 1024). You can change this value on the server by setting the max_allowed_packet'

2017-08-02 17:21:38 1535

原创 mysql表行列互换

1. 问题描述查询下面数据库表数据

2017-07-31 17:09:22 710

原创 使用Spring @Scheduled执行定时任务

使用Spring @Scheduled执行定时任务 3. 方法实现:有两种使用方式:1. 如果需要以固定速率执行,只要将注解中指定的属性名称改成fixedRate即可,例如固定速率5s来调用一次执行可使用@Scheduled(fixedDelay = 5000)2. 使用cron表达式@Componentpublic class testTimer { /**

2017-07-31 10:52:07 1645

原创 多线程情况下双重检查锁定问题的分析与优化

双重检查锁定(Double-Checked Locking)的由来Java程序中,有时候需要推迟一些高开销对象的初始化操作,等到使用的时候才进行对象初始化。双重检查锁定是一种常见的延迟初始化技术。但是在多线程情况下,使用不当很容易出现问题。下面就来分析一下非线程安全的一段代码:public class DoubleCheckedLocking { private static I

2017-07-25 08:12:23 643

原创 mysql备份数据库

(1)导出整个数据库(包括数据库中的数据)    mysqldump -u username -p dbname > dbname.sql    (2)导出数据库结构(不含数据)    mysqldump -u username -p -d dbname > dbname.sql    (3)导出数据库中的某张数据表(包含数据)    mysqldump -

2017-07-22 15:20:14 251

原创 Java中的Copy-On-Write容器

Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。

2017-07-22 15:15:31 182

转载 Oracle 索引及SQL优化

数据库索引:索引有单列索引复合索引之说如何某表的某个字段有主键约束和唯一性约束,则Oracle 则会自动在相应的约束列上建议唯一索引。数据库索引主要进行提高访问速度。建设原则: 1、索引应该经常建在Where 子句经常用到的列上。如果某个大表经常使用某个字段进行查询,并且检索行数小于总表行数的5%。则应该考虑。 2、对于两表连接的字段,应该建立索引。

2017-03-26 15:58:36 271

原创 Java Socket之网络相关API

一、InetAddress1. InetAddress类没有构造方法,所以不能直接new出一个对象;可以通过InetAddress类的静态方法获得InetAddress的对象;InetAddress.getLocalHost();InetAddress.getByName();2. 类主要方法:String - address.getHostName();String

2016-04-12 23:05:33 551

原创 递归实现获取短信验证码按钮时间倒计时显示功能

使用递归实现获取短信验证码的按钮时间显示倒计时功能,代码十分简洁易懂。具体demo实现: $(function () { $("#sendMess").click(function(){ $("#sendMess").attr("disabled", ""); countDown(5);

2015-07-13 23:14:11 872

原创 jQuery实现Checkbox全选功能

jQuery实现勾选CheckAll时选中某一类全部的checkbox;当这一类中的checkbox有一个没有被选中,则CheckAll就不应该被勾选;如果所有的checkbox被选中,则CheckAll应被勾选。形式如下图:代码实现: $(function () { $("#checkAll")

2015-07-13 22:35:25 3713

原创 类名.class, class.forName(), getClass()区别

1、类名.class说明:JVM将使用类装载器,将类装入内存(前提是:类还没有装入内存),不对类做类的初始化工作。返回类的Class的对象。2、Class.forName("类名字符串")(注:类名字符串是包名+类名)说明:装入类,并做类的静态初始化,返回Class的对象。3、实例对象o.getClass()说明:对类进行静态初始化、非静态初始化;返回引用o运行时真正所指的对象

2015-06-14 22:41:35 1845

原创 Spring security实现指定用户session过期

在用户多角色的系统中,对用户的角色进行更新,完成更新后应让用户重新登录系统,否则用户将继续拥有被删除角色的权限或者对新增的角色依旧没有权限。Spring Security能通过是指定用户的session过期,从而很好的实现这一功能。OK直接上代码:public class UserService { @Autowired private SessionRegistry session

2015-06-10 23:17:45 9600 1

原创 设计模式——单例模式

单例模式(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。构造单例模式步骤:1、将构造方法私有化,不允许外面直接创建。2、声明唯一实例(private static)。3、提供一个用于获取实例的方法(public static)。单例模式分为饿汉模式和懒汉模式:饿汉模式:实例在类加载的时候初始化。加载速度慢,运行获取速度快。线程安全。懒汉模式

2015-06-09 22:13:57 393

原创 mysqldump Got error: 1449

在使用语句:mysqldump -uroot -ppwd123 testdb > dump0607.sql备份mysql数据库时出现错误:Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TABLES.需要给root用户添加一个对全部hos

2015-06-07 20:22:00 2140

原创 Java抽象类和接口

一、抽象类抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。声明格式:abstract class ClassName { abstract void fun();}抽象方法必须用abstract关键字进行修饰。如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。抽象类就是

2015-05-14 17:28:19 506

原创 Java对象包装器与自动打包

所有基本类型都有一个与之对应的类,例如,Integer类对应基本类型int。通常,这些类称为包装器(wrapping)。这些对象包装器拥有很鲜明的名字:Integer、Long、Float、Double、Short、Byte、Character、Void和Boolean(前面六个类派生于公共的超类Number)。对象包装器类是不可变的,一旦构造了包装器,就不允许更改包装器里面的值。同时,对象包装器

2015-05-10 23:15:51 1468

原创 Java关键字final和static

一、final在java编程语言中,有时候需要告知编译器一段数据是不变的编译期常量。对于这种情况,编译器可以将此常量值带入需要用到它的计算式子当中,这种在编译时执行计算式的方法减轻了运行时的开销。通常,这类常量数据都是基本类型的数据,并赋予关键字final,同时在对此常量定义时需要进行赋值。1、final类final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是f

2015-05-10 18:16:15 368

原创 Java多态总结

JAVA引用变量有两个类型:一个是编译时的类型,一个是运行时的类型,编译时的类型由声明该变量时使用的类型决定,运行时的类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就会出现所谓的多态(Polymorphism)。多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引

2015-05-10 12:54:34 598

原创 Jenkins发布项目时出现内存溢出错误

Windows环境下Jenkins发布项目时遇到java.lang.OutOfMemoryError: PermGen space错误,导致发布失败。解决办法:打开tomcat的bin目录下的catalina.bat文件,在里面增加一句:set JAVA_OPTS=-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=2

2015-04-30 15:47:53 4725

原创 jQuery ajax - ajax() 方法

定义和用法ajax() 方法通过 HTTP 请求加载远程数据。该方法是 jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。最简单的情况下,$.ajax() 可以不带任何参数直接使用。

2015-04-30 09:20:27 431

原创 Spring MVC中获取request对象

1、通过注解获取 @Autowired private HttpServletRequest request;2、通过RequestContextHolder HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) .getReque

2015-04-28 23:52:26 491

原创 JavaMail出现535 5.7.3 Authentication unsuccessful错误的解决方法

最近实现使用公司内部邮箱发送邮件功能,发送给本公司邮箱时没有问题,但是给QQ、163或sina等外部邮箱时一直出现错误:com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 Unable to relay此时的java mail 版本为1.4.1,升级到1.4.1之后这个问题就没有了。但是出现了错误:535 5.7.3 Authen

2015-04-28 22:36:37 78103 6

原创 解决Project facet Java version 1.7 is not supported

eclipse的server添加项目的时候遇到Project facet Java version 1.7 is not supported的问题。解决方案:选择项目的Properties,选择Project Facets,修改Java的版本为1.6即可。

2015-04-27 13:31:02 666

原创 Java向上转型和向下转型

首先定义父类Animal,所有动物都有一个吃东西的方法;子类Dog还增加了一个叫的功能。public class Animal { public void eat() { System.out.println("eat like an animal"); }}public class Dog extends Animal { @Override public void e

2015-04-24 18:11:46 504

原创 Java线程总结

一、Java线程同步原理Java会为每个object对象分配一个monitor,当某个对象的同步方法(synchronized methods )被多个线程调用时,该对象的monitor将负责处理这些访问的并发独占要求。当一个线程调用一个对象的同步方法时,JVM会检查该对象的monitor。如果monitor没有被占用,那么这个线程就得到了monitor的占有权,可以继续执行该对象的同步方

2015-04-24 17:15:48 300

转载 深入探讨 Java 类加载器

类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏览器中并执行。现在类加载器在 Web 容器和 OSGi 中得到了广泛的使用。一般来说,Java

2015-04-24 09:47:28 352

原创 使用HashSet过滤掉重复的字符

利用HashSet不允许存在重复元素的特性,可以实现对重复元素的过滤。public static void main(String[] args) { String[] str = { "a", "b", "c", "d", "b", "a" }; // 方法1 Set hashSet = new HashSet(); hashSet.addAll(Arrays.asList(

2015-04-01 09:10:13 1425

原创 jQuery UI设定datepicker控件的指定某些天不可用

调用jQuery UI的datepicker控件的时候,有时需要设定控件中的某些天是不可选的。而datepicker中每次显示天之前都会调用beforeShowDay方法。所以可以再beforeShowDay方法中对选择的日期进行处理。代码示例:$( "#datepicker" ).datepicker({ dateFormat: "yy/mm/dd", beforeShowDay:

2015-03-23 17:28:08 3198 3

转载 @RequestParam @RequestBody @PathVariable 等参数绑定注解详解

简介:handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主要讲解常用类型)A、处理requet uri 部分(这里指uri template中variable,不含queryString部分)的注解:   @PathVariable;B、处理request header部分的注解:   @RequestHeade

2015-03-20 09:22:18 496

原创 Spring @RequestMapping的用法

Spring @RequestMapping用来处理请求映射的注解,可以用在类或者方法上;当被用在类上时,类中所有相应请求的方法都以该路径作为父路径。RequestMapping注解有六个属性:1、value:指定请求的实际地址,指定的地址可以是URI Template 模式。2、method:指定请求的method类型,包括GET、POST、PUT、DELETE等。3、consu

2015-03-19 17:32:27 1144

原创 获取Kendo UI AutoComplete选中项的其他数据

使用Kendo UI AutoComplete选中某一项后可能还需要其他数据。如选择了客户的名称,有时候需要得到客户的id进行其他操作。可以使用AutoComplete中的select方法在选择clientName的时候对clientId进行操作。详见代码: $("#autocomplete").kendoAutoComplete({ placeholder : "Clie

2015-03-13 20:33:27 1809

转载 详解 Spring 3.0 基于 Annotation 的依赖注入实现

使用 @Repository、@Service、@Controller 和 @Component 将类标识为 BeanSpring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发。@Repository 注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO 类上即可。同时,为了让 Spri

2014-10-28 17:06:59 390

原创 jQuery ajax中traditional参数的作用

默认的话,traditional为false,即jquery会深度序列化参数对象,以适应如PHP和Ruby on Rails框架, 但servelt api无法处理,我们可以通过设置traditional 为true阻止深度序列化,

2014-09-21 11:24:41 1456

原创 基于泛型实现ArrayList的复合排序

最近项目中经常要对list进行复合排序,

2014-09-21 11:13:56 690

原创 tomcat启动时候报错。

tomcat启动时候报错:Launcher$ExtClassLoader

2014-07-05 14:15:13 521

转载 Velocity 文档(1)

Velocity是什么?         Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。        当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以

2014-07-05 00:38:35 453

原创 DateFormat格式化日期和时间

String myString = "2014-6-13";DateFormat df = DateFormat.getDateInstance();System.out.println(df.format(new Date()));Date date = df.parse(myString);System.out.println(df.parse(myString));Sys

2014-06-13 19:45:47 1042

空空如也

空空如也

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

TA关注的人

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