![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 81
kingzone_2008
对于机器学习数据挖掘相关技术有浓厚兴趣
展开
-
Spring定时器实现
采用java.util.TimerTask实现,可以实现循环执行某任务,但不能实现指定时刻执行(可使用quartz Scheduler)。可分为4个小部分:TimerFactoryBean,ScheduledTimerTask,CheckAlarmTask(具体执行的任务),对应的java类。也可以看做自上而下的4个层次。配置文件(如application.xml)完成前三个部分的配置:原创 2012-11-21 23:27:16 · 8924 阅读 · 1 评论 -
AOP 那点事儿
又是一个周末,刚给宝宝喂完牛奶,终于让她睡着了。所以现在我才能腾出手来,坐在电脑面前给大家写这篇文章。今天我要和大家分享的是 AOP(Aspect-Oriented Programming)这个东西,名字与 OOP 仅差一个字母,其实它是对 OOP 编程方式的一种补充,并非是取而代之。翻译过来就是“面向方面编程”,可我更倾向于翻译为“面向切面编程”。它听起有些的神秘,为什么呢?当你看完这篇转载 2015-10-31 21:47:10 · 1088 阅读 · 1 评论 -
Java多线程基础(四)Java传统线程同步通信技术
Java多线程基础(四)Java传统线程同步通信技术编写代码实现以下功能子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程又循环100次,如此循环50次。分析1)子线程循环10次与主线程循环100次必须是互斥的执行,不能出现交叉,下面代码中通过synchronized关键字实现此要求; 2)子线程与主线程必须交替出现,可以通过线程同步通信技术实现,下面代码中通过原创 2015-11-15 22:20:06 · 1821 阅读 · 0 评论 -
Java多线程基础(三)Java传统线程互斥技术
Java多线程基础(三)Java传统线程互斥技术java的线程互斥主要通过synchronized关键字实现。下面的示例代码展示了几种使用synchronized关键字的基本用法。package cn.king;public class TraditionalThreadSynchronized { public static void main(String[] args) {原创 2015-09-01 23:23:34 · 1831 阅读 · 0 评论 -
java.util.ConcurrentModificationException异常分析
Java在操作ArrayList、HashMap、TreeMap等容器类时,遇到了java.util.ConcurrentModificationException异常。以ArrayList为例,如下面的代码片段:import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.u原创 2014-11-22 00:45:40 · 50371 阅读 · 8 评论 -
阿里淘宝知名工程师
淘宝知名工程师读了《淘宝技术这十年》这本书,感受了下从小网站到大规模系统的变迁,其中不乏技术牛人的贡献,记录下他们的博客,有空都可以翻阅下,一窥深厚的技术功底,排名不分先后 正明(章文嵩) 集团核心系统高级研究员,LVS集群项目创始人与开发者微博:http://weibo.com/wensong8 正祥(阳振坤) Ocea转载 2015-08-23 09:53:42 · 3358 阅读 · 0 评论 -
Eclipse修改Project的目录位置
Eclipse打开时会要求指定一个workspace,在这个workspace中可以创建多个相关的或无关的Project,这些Project的目录位置信息存储在:\.metadata\.plugins\org.eclipse.core.resources\.projects\\.location中。原创 2015-06-27 21:29:09 · 8776 阅读 · 0 评论 -
Apriori算法实现
Apriori算法原理:http://blog.csdn.net/kingzone_2008/article/details/8183768import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.Map;import java.util.Set;i原创 2013-12-04 22:25:44 · 9372 阅读 · 14 评论 -
Java多线程基础(二)定时器类:Timer类和TimerTask类
Java多线程基础(二)定时器类:Timer类和TimerTask类Timer类和TimerTask类是jdk实现定时器功能的早期方法,jdk1.5以前就支持Timer类和TimerTask类。JDK1.5之后引入了新的机制,将在后续博文中研究。1 指定时间间隔后执行任务import java.util.Date;import java.util.Timer;import java.util.T原创 2015-04-25 14:36:36 · 14118 阅读 · 0 评论 -
Eclipse使用技巧:Eclipse开发web项目的文件编码设置
有几种方式设置编码:1.Window-Preferences-General-Workspace2.Window-Preferences-General-Editors-Text Editors-Spelling3.右击左侧Package Explorer中相应的工程或者文件-Properties-Resource4.Window-Preferences-General原创 2014-02-28 09:54:00 · 6233 阅读 · 0 评论 -
100个高质量Java开发者博客(20151220更新)
本文的目的是收集最好的100个Java博客,并帮助程序员找到高质量的帖子来阅读。其中一些博客可能并不是Java开发者写的,但是Java开发者应该会从中受益。阅读那些博客不失为一件快事,而且经常会收到启发产生一些新的想法。我对高质量的定义如下:1. 文章可读性较高且是原创。2. 作者醉心于技术。3. 文章的个人理解中有创造性的想法4. 持续更新你可以通过在本文下面添加评论来推翻译 2015-12-20 16:05:07 · 1308 阅读 · 0 评论 -
Nexus创建本地Maven仓库(Maven私服)
Nexus创建本地Maven仓库原创 2014-09-21 21:04:26 · 75261 阅读 · 5 评论 -
Struts2常见错误
java.lang.NoSuchMethodError: com.opensymphony.xwork2.config.ConfigurationManager.addContainerProvider(Lcom/opensymphony/xwork2/config/ContainerProvider;)V at org.apache.struts2.dispatcher.Dispatcher.原创 2013-08-16 11:51:18 · 8092 阅读 · 0 评论 -
使用Maven构建Java工程(Building Java Projects with Maven)
本文采用maven构建一个简单的java工程。工程描述你将实现一个显示时间的应用,并采用maven构建它。准备工作大约15分钟一个文本编辑器或者IDEJDK 6或更高如何完成如同所有的Spring入门教程,你可以选择一步一步的自己实现,也可以跳过基本的设置步骤。最终,你都将得到一份可以正常运行的代码。如果选择按步实现,继续下一节。如果选择跳过基本的安装部翻译 2014-01-24 00:48:00 · 9808 阅读 · 2 评论 -
构建一个RESTful Web Service(Building a RESTful Web Service)
本文详细介绍了基于Spring创建一个“hello world” RESTful web service工程的步骤。目标构建一个service,接收如下HTTP GET请求:http://localhost:8080/greeting并返回如下JSON格式的问候语:{"id":1,"content":"Hello, World!"}你也可以通过指定查询字符串中的可选参数na翻译 2014-01-26 22:03:36 · 17371 阅读 · 2 评论 -
Spring MVC视图层:thymeleaf vs. JSP
本文对比了同一Spring MVC工程中相同页面(一个订阅表单)分别采用Thymeleaf和JSP(包括JSP、JSTL、Spring tag lib)两种方式的实现。本文的所有代码来自一个可运行的应用。你可以从文档页面下载该应用程序的源代码。Common requirements顾客通过一个表单添加到消息列表中,包含下面两个域:Email地址订阅类型(接收所有邮件、每日摘翻译 2014-02-10 14:03:32 · 39764 阅读 · 13 评论 -
Java:String、StringBuffer和StringBuilder的区别
1 StringString:字符串常量,字符串长度不可变。2 StringBufferStringBuffer:字符串变量(Synchronized,即线程安全)。如果要频繁对字符串内容进行修改,出于效率考虑最好使用StringBuffer,如果想转成String类型,可以调用StringBuffer的toString()方法。Java.lang.StringBuffer线程安全原创 2013-07-02 00:08:28 · 111749 阅读 · 29 评论 -
Java NIO:浅析I/O模型
也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Pr转载 2016-06-13 18:47:23 · 3128 阅读 · 1 评论 -
添加jstatd、jmx启动远程java监控或tomcat监控
1 jstatd配置需要jdk支持,jre不支持。(可以用jre运行,单独安装jdk,只用jstatd)新建文件jstatd.all.policy(可自定义文件名),内容如下:grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission;};执行原创 2016-03-12 14:21:23 · 6038 阅读 · 1 评论 -
JVM飙高排查脚本-结构分析
该文章来自于阿里巴巴技术协会(ATA)精选文章。大家都有过遇到线上程序LOAD突然狂飙的场景,要排查到为何狂飙,我们当务之急就是要找到导致CPU飙升的原因。如果是进程级的应用,如Nginx、Apache等都还比较容易排查,但如果是JVM中的某个线程导致的,估计有人就要开始抓瞎了。很多人都或多或少的知道有这么一个脚本,能帮你大致定位到现场导致LOAD飙升的JVM线程,脚本大概如下转载 2015-12-27 11:10:43 · 1786 阅读 · 0 评论 -
Java静态代码块、构造代码块、构造方法的执行顺序
Java静态代码块、构造代码块、构造方法的执行顺序静态代码优先于非静态的代码,是因为被static修饰的成员都是类成员,会随着JVM加载类的时候加载而执行,而没有被static修饰的成员也被称为实例成员,需要创建对象才会随之加载到堆内存。所以静态的会优先非静态的。 执行构造器(构造方法)的时候,在执行方法体之前存在隐式三步: 1,super语句,可能出现以下三种情况: 1)构造方法体的第一行是原创 2015-04-12 22:55:22 · 31289 阅读 · 3 评论 -
Java多线程(一)Java多线程传统实现方法
Java多线程传统实现方法Java多线程的传统实现方法有两种:一种是继承Thread类并重写其run方法;另一种是实现Runnable接口,实现其run方法。/** * 多线程的传统实现方法 * */public class TraditionalThread { public static void main(String[] args) { /* *原创 2015-03-23 22:01:17 · 1311 阅读 · 1 评论 -
java中final的使用方法
1 final用于修饰变量final变量只能赋值一次,赋值的方式有三种:1)声明变量时直接赋值;2)非静态成员变量在{}块中赋值,静态成员变量在static{}块中赋值;3)非静态成员变量在构造方法中赋值。三种赋值方式的顺序是1)、2)、3),若有一种方式先行赋值了,则后面的方式就不能再赋值,否则就会编译错误。public class FinalTest { priva原创 2014-11-24 21:26:41 · 10023 阅读 · 0 评论 -
Round A China New Grad Test 2014 Problem C. Sorting
Problem C. SortingProblemAlex and Bob are brothers and they both enjoy reading very much. They have widely different tastes on books so they keep their own books separately. However, their fat原创 2013-09-23 11:43:33 · 1612 阅读 · 0 评论 -
Java:Date、Calendar、Timestamp的区别、相互转换与使用
1 Java.util.Date包含年、月、日、时、分、秒信息。2 Java.sql.Date包含年、月、日信息。在数据库相关操作中使用,如rs.getDate,ps.setDate等。rs是指ResultSet,ps是指PreparedStatement。3 Java.util.Calendar包含年、月、日、时、分、秒、毫秒信息。JDK1.1引入,用以代替java.ut原创 2013-07-05 16:52:31 · 35897 阅读 · 0 评论 -
Java:Map与HashMap,Hashtable,HashSet比较
HashMap和Hashtable两个类都实现了Map接口,二者保存K-V对(key-value对);HashSet则实现了Set接口,性质类似于集合。HashTable和HashMap区别第一,继承的父类不同。Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。public class Hashtable原创 2013-06-25 16:43:36 · 21381 阅读 · 2 评论 -
Java连接SQL Server:jTDS驱动兼容性问题
Java连接SQL Server 2000数据库时,有两种方法:(1)通过Microsoft的JDBC驱动连接。此JDBC驱动共有三个文件,分别是mssqlserver.jar、msutil.jar和msbase.jar。但是Microsoft官网上已经找不到这些驱动,其提供的sqljdbc.jar和sqljdbc4.jar并不支持SQL Server 2000。驱动程序名称:com.mi原创 2013-06-18 14:41:57 · 36847 阅读 · 0 评论 -
使用VisualVM查看Java Heap Dump
浏览Heap Dump可以使用VisualVM浏览heap dump文件的内容,从而快速查看在堆中分配的对象。Heap dumps在主窗口的heap dump子标签页中显示。你可以打开保存在本地的heap dump文件(.hprof)或者使用VisualVM捕获正在运行的程序的heap dumps。一个heap dump是Java虚拟机(JVM)在某一时刻所有对象的快照。JVM从堆中为所有翻译 2013-06-11 21:55:28 · 32650 阅读 · 0 评论 -
Java异常:选择Checked Exception还是Unchecked Exception?
Java包含两种异常:checked异常和unchecked异常。C#只有unchecked异常。checked和unchecked异常之间的区别是:Checked异常必须被显式地捕获或者传递,如Basic try-catch-finally Exception Handling一文中所说。而unchecked异常则可以不必捕获或抛出。Checked异常继承java.lang.Exce翻译 2013-05-10 13:19:16 · 51687 阅读 · 19 评论 -
Java访问修饰符
1、Class类的访问权限 public:可以供所有的类访问。 默认:默认可以称为friendly,但是,java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++。默认的访问权限是包级访问权限。即如果写了一个类没有写访问权限修饰符,那么就是默认的访问权限,同一个包下的类都可以访问到,即可以实例化该类(当然如果这个类不具有实例化的能力除外,比如该类没有提供public原创 2012-10-31 21:08:00 · 1108 阅读 · 0 评论 -
Round A China New Grad Test 2014 Problem A. Read Phone Number
ProblemDo you know how to read the phone numbers in English? Now let me tell you.For example, In China, the phone numbers are 11 digits, like: 15012233444. Someone divides the numbers into 3-4-4原创 2013-09-23 11:42:31 · 1708 阅读 · 0 评论 -
Amazon Campus(2013-Sep-24)Question 1 / 2 (Amazon Campus(15): Clock wise walk)
Question 1 / 2 (Amazon Campus(15): Clock wise walk)Suppose we got a integer named size from input. size meet the rule:size%2 ==1.We use this size to build a square blocks, and we start from th原创 2013-09-24 13:48:45 · 1520 阅读 · 0 评论 -
Amazon Campus(2013-Sep-24)Question 2 / 2 (Amazon Campus(17):Find the differences of items in amazon)
Question 2 / 2 (Amazon Campus(17):Find the differences of items in amazon)Amazon has millions of different items in different categories right now, so when sellers want to sell items in our websit原创 2013-09-24 13:49:53 · 1684 阅读 · 1 评论 -
你应当知道的Java牛人 v2.0
Java领域有很多著名的人物,他们为Java社区编写框架、产品、工具或撰写书籍改变了Java编程的方式。本文是《最受欢迎的8位Java牛人》的2.0版本。ChangLog:v2.0:增加了Andy Rubin 和Doug Lea ,更新了人物详细信息,加入了译注说明。《你应当了解的10位Java牛人》编译 by 李隽龙。v1.0:初始创建,《最受欢迎的8位Java牛人》转载 2014-12-11 23:09:04 · 981 阅读 · 0 评论 -
Google Java编程风格指南
Google Java编程风格指南January 20, 2014作者:Hawstein出处:http://hawstein.com/posts/google-java-style.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处。目录前言转载 2015-01-28 22:53:14 · 1057 阅读 · 0 评论 -
Java重写equals时应注意的问题汇总
1 在改写equals时要遵守通用约定2 改写equals时同时改写hashCode原创 2013-10-28 22:46:48 · 7721 阅读 · 0 评论 -
Java堆:Shallow Size和Retained Size
Shallow size就是对象本身占用内存的大小,不包含其引用的对象。常规对象(非数组)的Shallow size有其成员变量的数量和类型决定。数组的shallow size有数组元素的类型(对象类型、基本类型)和数组长度决定。Shallow size of a set of objects represents the sum of shallow sizes of all objects i翻译 2013-06-13 11:08:09 · 42238 阅读 · 2 评论 -
Java中byte转int的方法
byte转化为int有两种情况:1)要保持数值不变应用场景:数值计算,等等。方法:可以直接采用强制类型转换:int i = (int) aByte,例如:若aByte=0xff(即数值为-1),则转化为int后,i为0xffffffff,数值仍为-1。2)保持最低字节中各个位不变,3个高字节全部用0填充应用场景:编解码操作,方法:采用位操作:int i = aB原创 2014-11-02 00:24:58 · 17984 阅读 · 0 评论 -
eclipse新建Maven工程时Nexus Indexer为空问题
安装配置完Maven和Nexus后,使用mvn命令行可以创建工程骨架;但使用eclipse存在如下问题。问题截图如下图0:图0. Nexus Indexer为空由于Catalog选Nexus Indexer没有可用骨架列表,先试一下Internal的骨架,选择maven-archetype-webapp后,点击Finish。报错信息如图1所示。从下图报错原创 2014-09-28 00:07:42 · 6287 阅读 · 0 评论 -
mvn archetype:generate报错
问题:执行mvn archetype:generate报错如下图0。(执行mvn -e archetype:generate可以看到更详细的报错信息)图0. 报错信息本地的nexus的public Repositories中没有archetype-common-2.1.jar,但2.2目录下正常。如下图1。这是由于public group使用了Central库,Central库原创 2014-09-27 23:53:56 · 6846 阅读 · 0 评论