自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (6)
  • 收藏
  • 关注

原创 JAVA synchronized关键字解析

一、作用synchronized可以保证方法或者代码块在运行时,同一时刻只有一个线程可以进入到临界区,同时它还可以保证共享变量的内存可见性普通同步方法,锁是当前实例对象静态同步方法,锁是当前类的class对象同步代码块,锁是括号里面的对象二、实现原理2.1 实现方式Java中每一个对象都可以作为锁(todo),这是synchronized实现同步的基础。当...

2018-03-25 21:52:55 247 1

转载 Java 占用CPU使用率很高的分析

前几天在测试服务器上发现Java进程的CPU使用率暴高,为了分析解决该问题,把过程记录如下: 1. 先找到Java的进程号 Linux下: 用top命令查看所有进程,可以明显看到Java的,因为CPU占用率很高被排在前面。比如, clip_image002Windows下: 打开任务管理器,然后点击 “查看” 菜单,然后点击 “选择列”,把pid勾上,然后就可以在任务管理器里面看到所有进程

2016-08-15 19:53:19 5805

转载 分布式和集群的区别

简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。 例如: 如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。 采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Red

2016-01-09 16:02:42 771

转载 生产环境下JAVA进程高CPU占用故障排查

转自:http://blog.chinaunix.net/uid-10449864-id-3463151.html问题描述:生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高。问题分析:1,程序属于CPU密集型,和开发沟通过,排除此类情况。2,程序代码有问题,出现死循环,可能性极大。

2015-04-24 10:47:02 817

原创 linux下安装jdk

作为linux菜鸟(其实连菜鸟都算不上...)在上边安装mysql和jdk还是略蛋疼,搞了一天终于装好并且把项目部署上去了。在这里记录一下安装jdk一、下载jdk:  http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  64位系统则选择Linux

2015-04-02 16:32:47 4789

转载 在Ubuntu中安装MySQL

在Ubuntu中安装MySQLUbuntu实用工具系列文章,将介绍基于Linux ubuntu的各种工具软件的配置和使用。有些工具大家早已耳熟能详,有些工具经常用到但确依然陌生。我将记录我在使用操作系统时,安装及配置工具上面的一些方法,把使用心得记录下来也便于自己的以后查找和回忆。关于作者:张丹(Conan), 程序员Java,R,PHP,Javascriptwei

2015-04-01 17:02:50 646

转载 分布式系统的事务处理

http://coolshell.cn/articles/10910.html

2015-03-11 15:41:40 622

转载 java继承和组合的优缺点

http://www.cnblogs.com/nuaalfm/archive/2010/04/23/1718453.html

2015-03-05 15:23:23 4452

转载 大型网站系统架构的演化

http://www.cnblogs.com/leefreeman/p/3993449.html

2015-02-27 18:31:59 705

转载 Maven提高篇系列之六——编写自己的Plugin(本系列完)

在本系列的上一篇文章中,我们讲到了如何处理依赖冲突,在本文中,我们将讲到如何编写自己的Plugin。 Maven就其本身来说只是提供一个执行环境,它并不知道需要在项目上完成什么操作,真正操作项目的是插件(plugin),比如编译Java有Compiler插件,打包有Jar插件等。所以要让Maven完成各种各样的任务,我们需要配置不同的插件,甚至自己编写插件。 你可能

2015-02-05 19:16:07 1112

转载 Maven提高篇系列之五——处理依赖冲突

在本系列的上一篇文章中,我们讲到了如何使用Profile,在本文中,我们将讲到如何处理Maven的依赖冲突。 不知道你在使用Maven时是否遇到过诸如"NoSuchMethodError"或"ClassNotFoundException"之类的问题,甚至发生这些问题的Java类你没都没有听说过。要搞清楚这里面的缘由,我们得学习Maven对依赖冲突的处理机制。 Mav

2015-02-05 19:11:10 1242

转载 Maven提高篇系列之四——使用Profile

在本系列的上一篇文章中,我们讲到了如何将项目部署到Repository中,在本文中,我们将讲到如何使用Profile。 在开发项目时,设想有以下场景:你的Maven项目存放在一个远程代码库中(比如github),该项目需要访问数据库,你有两台电脑,一台是Linux,一台是Mac OS X,你希望在两台电脑上都能做项目开发。但是,安装Linux的电脑上安装的是MySQ

2015-02-05 19:08:04 1438

转载 Maven提高篇系列之三——部署到自己创建的Repository(Nexus)

在本系列的上一篇文章中,我们讲到如何将Plugin配置到某个Phase中,在本文中,我们将讲到如何将项目部署到自己创建的Repository中。 平时我们自己做的项目都是直接使用Maven提供的Central Repository,但是对于公司来说直接使用公共的Maven Central Repository就不见得是件好事了,比如我们需要考虑安全问题。此时你可以创建一个公司专属的

2015-02-05 19:06:24 867

转载 Maven提高篇系列之二——配置Plugin到某个Phase(以Selenium集成测试为例)

在本系列的上一篇文章中,我们讲到了多模块和继承之间的区别,在本篇文章中,我们将讲到如何将Plugin配置到某个Phase中。 持续交付要“自动化所有东西”,对于集成测试也是一样。集成测试和单元测试相比需要更多的环境准备工作,包括测试数据的准备和启动服务器等。在本篇中我们设想以下一种场景: 你开发了一个web应用,集成测试使用了Selenium,你希望通过一个

2015-02-05 18:23:12 1180

转载 Maven提高篇系列之一——多模块 vs 继承

这是一个关于Maven的提高系列,其中包含以下文章: 多模块 vs 继承配置Plugin到某个Phase(以Selenium集成测试为例)部署到自己的Repository(Nexus)处理依赖冲突编写自己的Plugin 通常来说,在Maven的多模块工程中,都存在一个pom类型的工程作为根模块,该工程只

2015-02-05 18:18:39 1432

转载 Java事务处理全解析(八)——分布式事务入门例子(Spring+JTA+Atomikos+Hibernate+JMS)

在本系列先前的文章中,我们主要讲解了JDBC对本地事务的处理,本篇文章将讲到一个分布式事务的例子。 请通过以下方式下载github源代码:git clone https://github.com/davenkin/jta-atomikos-hibernate-activemq.git 本地事务和分布式事务的区别在于:本地事务只用于处理单一数据源事务(比如单个数据

2015-02-03 11:21:02 6029

转载 Java事务处理全解析(七)—— 像Spring一样使用Transactional注解(Annotation)

在本系列的上一篇文章中,我们讲到了使用动态代理的方式完成事务处理,这种方式将service层的所有public方法都加入到事务中,这显然不是我们需要的,需要代理的只是那些需要操作数据库的方法。在本篇中,我们将讲到如何使用Java注解(Annotation)来标记需要事务处理的方法。 这是一个关于Java事务处理的系列文章,请通过以下方式下载github源代码:git clo

2015-02-03 11:10:23 9425 3

转载 Java事务处理全解析(六)—— 使用动态代理(Dynamic Proxy)完成事务

在本系列的上一篇文章中,我们讲到了使用Template模式进行事务管理,这固然是一种很好的方法,但是不那么完美的地方在于我们依然需要在service层中编写和事务处理相关的代码,即我们需要在service层中声明一个TransactionTemplate。在本篇文章中,我们将使用Java提供的动态代理(Dynamic Proxy)功能来完成事务处理,你将看到无论是在service层还是DAO层

2015-02-03 11:05:20 9617 2

转载 Java事务处理全解析(五)—— Template模式

在本系列的上一篇文章中,我们讲到了使用TransactionManger和ConnectionHolder完成线程安全的事务管理,在本篇中,我们将在此基础上引入Template模式进行事务管理。 这是一个关于Java事务处理的系列文章,请通过以下方式下载github源代码:git clone https://github.com/davenkin/java_transact

2015-02-03 10:55:55 6832

转载 Java事务处理全解析(四)—— 成功的案例(自己实现一个线程安全的TransactionManager)

在本系列的上一篇文章中我们讲到,要实现在同一个事务中使用相同的Connection对象,我们可以通过传递Connection对象的方式达到共享的目的,但是这种做法是丑陋的。在本篇文章中,我们将引入另外一种机制(ConnectionHolder)来完成事务管理。 这是一个关于Java事务处理的系列文章,请通过以下方式下载github源代码:git clone https://

2015-02-03 10:52:12 11573 6

转载 Java事务处理全解析(三)—— 丑陋的案例

在本系列的上一篇文章中,我们看到了一个典型的事务处理失败的案例,其主要原因在于,service层和各个DAO所使用的Connection是不一样的,而JDBC中事务处理的作用对象正是Connection对象,所以不同DAO中的操作不在同一个事务里面,从而导致事务失败。从中我们得出了教训:要避免这种失败,我们可以使所有操作共享一个Connection对象,这样应该就没有问题了。 请通

2015-02-03 10:44:54 8514 2

原创 Java事务处理全解析(二)—— 失败的案例

在本系列的上一篇文章中,我们讲到了Java事务处理的基本问题,并且讲到了Service层和DAO层,在本篇文章中,我们将以BankService为例学习一个事务处理失败的案例。 请通过以下方式下载github源代码:git clone https://github.com/davenkin/java_transaction_workshop.git Bank

2015-02-03 10:37:32 13806 2

原创 java事务处理全解析

最近学习java事务,看到一位前辈的系列博客不错,转载过来作为记录转载地址:http://www.davenkin.me/post/2013-02-16/40048284001   (一)Java事务处理的基本问题   (二)失败的案例   (三)丑陋的案例   (四)成功的案例(自己实现一个线程安全的TransactionManager)   (五

2015-02-03 10:26:15 65071 6

原创 xshell连接远程电脑上的虚拟机上的linux

最近学习linux,但是不想在自己电脑上安装虚拟机,就在另一台电脑上装了虚拟机,于是就遇到怎么通过xshell连接远程主机上的虚拟机上的linux的问题。整个过程如下1、首先要确保安装的虚拟机和你的本机处于同一个网段,我的两台电脑都在同一个网段,所以只要设置虚拟机和所在主机处于同一个网段就ok了,方法为在vmware-->虚拟机-->设置-->网络适配器-->选择桥接模式。然后重启li

2015-01-23 17:09:01 16479 1

转载 java Iterator和ListIterator的区别和用法

我们在使用List,Set的时候,为了实现对其数据的遍历,我们经常使用到了Iterator(跌代器)。使用跌代器,你不需要干涉其遍历的过程,只需要每次取出一个你想要的数据进行处理就可以了。 但是在使用的时候也是有不同的。List和Set都有iterator()来取得其迭代器。对List来说,你也可以通过listIterator()取得其迭代器,两种迭代器在有些时候是不能通用的,Iterat

2014-12-24 10:54:27 1513

转载 jsessionid所引起的问题 和解决

转自:http://blog.csdn.net/seakingwy/article/details/1933687jsessionid所引起的问题在Spring MVC当使用RedirectView或者"redirect:"前缀来做重定向时,Spring MVC最后会调用:response.sendRedirect(response.encodeRedirectURL(url)

2014-12-17 11:58:16 2818 1

转载 JVM基础:深入学习JVM堆与JVM栈

最近学习JVM,看到一篇博文讲解的很不错,拿来与大家分享.转自(http://developer.51cto.com/art/201009/227812_all.htm)JVM栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;JVM堆解决的是数据存储的问题,即数据怎么放、放在哪儿,另外JVM堆中存的是对象。JVM栈中存的是基本数据类型和JVM堆中对象的引用。JVM基础概念:

2014-12-12 17:47:16 1041

原创 poi从excel中读取父子关系型(树形)数据结构到数据库

poi从excel中读取父子关系型(树形)数据结构到数据库

2014-11-27 11:50:17 8537 1

转载 memcached各种应用分析

这里收集了经常被问到的关于memcached的问题 * memcached是怎么工作的? * memcached最大的优势是什么? * memcached和MySQL的query cache相比,有什么优缺点? * memcached和服务器的local cache(比如PHP的APC、mmap文件等)相比,有什么优缺点? * memcached的cache机制是怎样的? 

2014-08-28 11:38:44 774

原创 一次群聊天记录的整理(当后台的某个程序忽然死了时,怎么解决,没有日志输出)

电风扇:今天面试一家电子商务公司,一个面试官提的问题:当后台的某个程序忽然死了时,怎么解决,没有日志输出。电风扇:想了半天没出来洗衣机:重启锅:0.0电风扇: 有人,有好的建议吗电风扇: 不可能重启,这是电子商务网站锅: 做好数据备份再重启吧电风扇: 购物的电风扇: 而且只是其中的某个线程死了电风扇: 可能是别人写得某些程序造成的。电风扇: 我想了很久没想出

2014-07-26 16:54:41 2146

原创 JFinal初始化过程浅析

前段时间粗略看了一下jfinal的

2014-07-26 15:45:57 23954 2

转载 spring源码解析

转自:http://singleant.iteye.com/blog/1177358

2014-03-20 18:04:29 856

转载 java实现在线支付

国内电子商务系统实现的基本流程如下: 客户在系统内下订单 -> 系统根据订单生成支付宝接口url -> 客户通过url使用支付宝(网上银行)付款 -> 支付宝将客户的付款完成信息发送给电子商务系统 -> 系统收到支付宝信息后确定客户订单已经付款 -> 进行发货等后续流程。在开始下面的内容之前,你要先有一个支付宝账户,如果要集成支付宝接口,你还必须申请开通服务(关于如何开通,可以直接到支

2014-03-20 17:13:01 1263

转载 java容器的线程安全

同步容器类同步容器类包括Vector和Hashtable(二者是早期JDK的一部分),还包括JDK1.2中添加的一些相似的类。同步容器类实现线程安全的方式是:将状态封闭起来,并对每个公有方法进行同步,使得每次只有一个线程能访问容器状态。这里解释一下所谓“状态”指的就是成员变量,“封装起来”即将它们设不private,但是通过公有的方法外界仍然可以访问修改类的私有成员,所以要用synchro

2013-10-11 13:38:55 8993

转载 java多线程面试题

0.Java 中多线程同步是什么? 在多线程程序下,同步能控制对共享资源的访问。如果没有同步,当一个 Java 线程在修改一个共享变量时,另外一个线程正在使用或者更新同一个变量,这样容易导致程序出现错误的结果。 1.解释实现多线程的几种方法? 一 Java 线程可以实现 Runnable 接口或者继承 Thread 类来实现,当你打算多重继承时,优先选择实现 Runnabl

2013-09-24 14:03:15 1005

转载 笔记本参数解读

http://tieba.baidu.com/p/2150750352

2013-09-24 12:38:02 932

转载 笔试面试总结

作者:寒小阳时间:2013年9月。出处:http://blog.csdn.net/han_xiaoyang/article/details/11400719。声明:版权所有,转载请注明出处,谢谢。    前面从宏观的角度,根据师兄师姐口口相传的经验和自己的面试经历,写了点面试应该注意的点。这里针对,互联网公司,总结总结面试注意的点,里面的一部分内容出自一些优秀的

2013-09-24 10:33:39 1401

原创 一个替换某文件夹下的所有文件中特定字符串的小工具

这里与大家分享一个替换文件中某字符串的小程序,经测试完全可用,希望对大家有帮助

2013-09-22 14:08:43 3058 2

转载 java正则表达式

Java正则表达式http://blog.csdn.net/allwefantasy/article/details/3136570(PS:这篇文章为转载,我不喜欢转载的但我觉得这篇文章实在是超赞了,就转了过来,这篇可以说是学习JAVA正则表达的必读篇。作者是个正真有功力的人,阅读愉快)  在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就

2013-09-03 14:25:05 1265

转载 struts2和servlet共存的几种方法

项目要求struts2和servlet能够共存,就是struts的请求发给struts处理,servlet的请求发给servlet处理。目前web.xml文件应该是类似于如下的配置: filter> filter-name>struts2filter-name> filter-class>org.apache.struts2.dispatcher.ng.filter.Strut

2013-08-29 10:32:16 14924 5

天猫世界杯抢红包脚本

天猫世界杯抢球衣赢红包全自动脚本介绍 天猫赢红包扒球衣技巧攻略想知道吗 其实好像也没神马技巧 就是剪刀石头布 看运气的 但是使用第九软件网带来的天猫世界杯抢球衣赢红包脚本既可以解放双手拉 工具说明: 原理非常简单 下面提供的一个文本 直接复制完在浏览器的控制台运行就行了 使用方法如下: 进T宝 进T猫 必须登陆(这不废话么) T猫首页的右边 看到有个“开抢红包” 点击 进入活动页面 活动地址:点这里 (网页右侧开抢红包)http: www tmall com 1 先加载完游戏 2 附件是个文本文件 复制它的内容 3 firefox按ctrl+shift+k chrome或者360极速浏览器按ctrl+shift+j 调出控制台(也可按F12 选Console) 4 粘贴 回车 全自动 随机出拳 输赢看运气 展开更多↓">天猫世界杯抢球衣赢红包全自动脚本介绍 天猫赢红包扒球衣技巧攻略想知道吗 其实好像也没神马技巧 就是剪刀石头布 看运气的 但是使用第九软件网带来的天猫世界杯抢球衣赢红包脚本既可以解放双手拉 工具说明: [更多]

2014-06-20

java实现替换文件中得特定字符串

自己写的一个小工具,用以替换文件中得某些特定字符串,可以是文件夹中得也可以是直接文件。希望对您有所帮助

2013-09-04

Spring3.0参考文档

Spring3.0的最新文档 帮助快速学习Spring 参考开发Spring项目

2012-10-29

数据库连接池

此为数据库连接池的源码,中间有详细的注释,用java编写

2012-10-12

关于ajax的直接应用代码

对异步验证的直接使用,复制粘贴即可,对ajax刚入门的有用,注册用户名唯一性代码

2012-04-13

空空如也

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

TA关注的人

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