Java编程
ccfeng2008
这个作者很懒,什么都没留下…
展开
-
java swing jtable外观属性一
public static void makeJTable(JTable table){ //表格排序jdk1.6新功能 TableRowSortersorter = newTableRowSorter(table.getModel()); table.setRowSorter(sorter); //设置行高 table.setRowHeight(Cons转载 2012-05-30 08:58:36 · 1510 阅读 · 0 评论 -
原子操作的实现原理
1. 引言原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为"不可被中断的一个或一系列操作" 。在多处理器上实现原子操作就变得有点复杂。本文让我们一起来聊一聊在Intel处理器和Java里是如何实现原子操作的。2. 术语定义术语英文解释缓存行Cache line缓存的最小操作单位比转载 2015-10-24 22:36:47 · 6760 阅读 · 0 评论 -
Java 正则表达式学习总结和一些小例子
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和Matcher. Pattern是一个正则表达式经编译后的表现模式。 在java中,通过适当命名的Pattern类可以容易确定String是否匹配某种模式.模式可以象匹配某个特定的String那样简单,也可以很复 杂,需要采用分组和字符类,如空白,数字,字母或控制符.因为J转载 2015-10-10 21:50:12 · 855 阅读 · 0 评论 -
JVM调优总结 -Xms -Xmx -Xmn -Xss
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms355转载 2015-10-25 21:56:48 · 497 阅读 · 0 评论 -
Fork and Join: Java也可以轻松地编写并发程序
Fork and Join: Java也可以轻松地编写并发程序原文地址 作者:Julien Ponge 译者:iDestiny资源下载:Java SE 7Sample Code(Zip)如今,多核处理器在服务器,台式机及笔记本电脑上已经很普遍了,同时也被应用在更小的设备上,比如智能手机和平板电脑。这就开启了并发编程新的潜力,因为多个线程可以在多个内核上并发执行。在应用中要实转载 2015-09-24 20:42:49 · 527 阅读 · 1 评论 -
java并发编程实践之安全发布和逸出
前言 多线程并发环境下,线程安全极为重要。往往一些问题的发生都是由于不正确的发布了对象造成了对象逸出而引起的,因此如果系统开发中需要发布一些对象,必须要做到安全发布,以免造成安全隐患。 发布和逸出 所谓发布对象是指使一个对象能够被当前范围之外的代码所使用。所谓逸出是指一种错误的发布情况,当一个对象还没有构造完成时,就使它被其他线程所见,这种转载 2016-01-17 21:01:58 · 1847 阅读 · 1 评论 -
JMeter 之tcp协议性能测试
JMETER tcp协议性能测试今天接到一个tcp服务性能测试项目,看了下要求的性能指标最高需要测试10000并发的情况。测试的内容非常简单,只要向该tcp服务不断发送一个string,然后检查是否返回了string。综合考虑了测试场景和性能要求,最后尝试使用jmeter这款工具进行测试。jmeter是一款纯java的性能测试工具,跨平台运行方便、提供图形化界面设置、简原创 2015-12-21 22:43:25 · 26569 阅读 · 4 评论 -
CountDownLatch和CyclicBarrier介绍
概述JDK中提供了一些用于线程之间协同等待的工具类,CountDownLatch和CyclicBarrier就是最典型的两个线程同步辅助类。下面分别详细介绍这两个类,以及他们之间的异同点。CountDownLatch类CountDownLatch顾名思义:倒计数锁存器。没错,他就是一个计数器,并且是倒着计数的。他的应用场景如下:一个任务A,他需要等待其他的一些任务都执行完毕转载 2015-10-25 22:45:51 · 527 阅读 · 0 评论 -
Eclipse Che安装入门和使用(一)
Eclipse Che 是一个高性能的基于浏览器的集成开发环境,通过提供结构化的工作区、项目输入、模块化扩展插件来支持 Codenvy 的引擎。Eclipse Che 采用 Java 开发,支持 Windows、Linux 和 OS X 系统。提供扩展功能用于支持多种编程语言。目前支持的语言包括:C++、Go、Java、Python、Ruby、SQL,提供语法高亮、代码分析、代码辅助和调试功能。构建工具支持:Ant、Bower、Grunt、Gulp、Maven 和 Npm。本文介绍Eclipse Che在W原创 2016-03-13 23:50:16 · 29871 阅读 · 25 评论 -
基于zookeeper管理redis集群,LCMPS框架(二)
本文续上篇,介绍一个LCMPS框架(基于redis和zookeeper),LCMPS已经在项目中应用后期考虑进行开源。本文主要着重介绍LCMPS原理(简单英文),包含几个部分:1.Overview2.Conceptsand Techniques3.Casedemo4.Futureplan原创 2016-04-30 10:43:50 · 3726 阅读 · 1 评论 -
基于zookeeper管理redis集群,实现消息路由(一)
Redis作为时下比较常用的内存数据库有其几个优势,性能高,稳定强,操作简单,提供多种语言且丰富API,集群部署简便等。目前很多企业用Redis集群主要用于缓存数据(设置与应用与数据库之间中间层),如TOP10排序,全局序号生产等,能较大提升用户响应时间。本文主要介绍如何用ZooKeeper维护Redis集群系统,已经如何实现基于Redis订阅发布功能实现消息路由功能。 ZooKeeper原创 2016-03-31 21:16:00 · 18317 阅读 · 2 评论 -
MyEclipse中开发web项目遇到的一些问题
1.修改web项目名称一般copy别人项目过来之后,你可能会选择修改项目名称,但是部署上去之后还是用的旧的名称,报404,原因是web context-root没有修改对比myeclipse来说,需要:点击工程右键——>properties——>MyEclipse——>Web 把context root修改为你自己命名的工程名2.项目前有红色感叹号一般情况是由于java b原创 2016-05-03 22:16:23 · 1716 阅读 · 0 评论 -
Eclipse Che开发Spring Web应用(入门) (二)
在上篇博客中我们介绍了如何安装Eclipse Che这种浏览器SDK之后,收到了许多开发者的提问,为了方便初学者开发java spring web应用,笔者又一步步实践了spring web开发(demo)过程,欢迎指正。使用Eclipse Che需要你掌握基本的maven命令(如果以前用ant,很容易就会掌握)。本文介绍一个如何利用Eclipse Che开发Spring Web,开发者也需要懂得关于Spring基础知识。 博文包括几个部分:1.Spring Demo项目创建,2.编译和部署,3.运行web原创 2016-05-07 20:45:12 · 5917 阅读 · 1 评论 -
Java实用经验总结--Swing篇二
转载来源:http://blog.csdn.net/kabini/article/details/17335521. 让JEditorPane显示细线表格1.1. 无效的边框设置法JEditorPane是Swing为我们提供的一个简单的显示格式化页面的组件。它支持HTML语法,能够获取URL连接事件,支持简单的CSS….,我们甚至可以用它来制作一个简单的Web浏览器。但是一转载 2012-05-30 09:18:37 · 707 阅读 · 0 评论 -
Java实用经验总结--Swing篇一
Java实用经验总结--Swing篇转载来源:http://blog.csdn.net/kabini/article/details/17077471 改变Swing应用程序的默认字体/字号经常使用Swing作为程序UI的人可能会注意到,Swing组件默认显示文字的字号为11。这对于英文显示毫无问题,但是如果用这个字号显示中文的话,这么小的字号就会使程序变得很难看。我当年转载 2012-05-30 09:15:15 · 1613 阅读 · 2 评论 -
java swing jtable的使用(一)
如何使用Table 利用 JTable 类,可以以表格的形式展示数据,可设置允许用户编辑数据。JTable 本身不拥有或者缓存数据;它只是数据的视图。这里有一个放在滚动面板上的典型表格: 本文展示如何完成一些常见的表格相关的任务:包括以下部分:(1)创建一个简单的表格(2)向容器添加表格(3)改变每每一栏的宽度(4)用户选择(5)创建表格模型原创 2012-05-30 09:05:22 · 22067 阅读 · 3 评论 -
深入理解Java内存模型
概要文章是《深入理解Java内容模型》读书笔记,该书总共包括了3部分的知识。第1部分,基本概念 包括“并发、同步、主内存、本地内存、重排序、内存屏障、happens before规则、as-if-serial规则、数据依赖性、顺序一致性模型、JMM的含义和意义”。第2部分,同步机制 该部分中就介绍了“同步转载 2015-10-24 23:53:47 · 812 阅读 · 0 评论 -
ReentrantLock与Condition
http://blog.csdn.net/a511596982/article/details/8288251一、ReentrantLock 类 1.1 什么是reentrantlockjava.util.concurrent.lock 中的 Lock 框架是锁定的一个抽象,它允许把锁定的实现作为 Java 类,而不是作为语言的特性来实现。这就为 Lock 的多转载 2015-11-03 22:46:18 · 538 阅读 · 0 评论 -
java实用总结日期/数字
Java实用经验总结--日期、数字篇1. 日期部分对于像日期、时间和钱这样的对象来说,不同的国家、地区都有不同的显示格式。即便是同一地区,也可能存在差异。但是在不考虑国家化,时间格式相对固定的情形下,对于时间的处理还是相对比较简单的。在我最近所作的一个小程序里面,遇到了一些与日期有关的且不考虑国际化和复杂格式的问题。例如如何求两个日期所差的天数,所差的月数;将日期类转化为规定格式的字转载 2012-05-30 09:22:28 · 560 阅读 · 0 评论 -
Java JNI部署问题
编写调用JNI的Java程序,都会先将C/C++的代码编译成DLL或者SO格式。随之而来的就是部署的问题。1.如果是制作bat文件启动程序,当然就简便了,在bat文件中,把DLL文件(以DLL为例)所在的路径加入到java lib path中即可。2.如果只是生成一个jar包,两种方法可以考虑:1)让用户自己把DLL文件手动拷贝到java lib path中,或者添加一个path到DL转载 2012-05-30 09:03:15 · 893 阅读 · 0 评论 -
多数据源与Spring
在大型的应用中,为了提高数据库的水平伸缩性,对多个数据库实例进行管理,需要配置多数据源。在Spring框架被广泛运用的今天,可以很简单的运用Spring中的特性配置动态多数据。转载来源:http://kindazrael.iteye.com/blog/982531例外推荐:http://www.iteye.com/topic/724861. 首先配置一个基于c3p0.ComboPo转载 2012-12-05 10:17:13 · 583 阅读 · 0 评论 -
java 读写 xxx.ini
偶然在网上找到java可以读写xxx.ini文件1、首先你需要了解xxx.ini配置文件的组成,如下:格式INI文件由节、键、值组成。节[section]参数(键=值)name=value2、其次你得去网上下载inieditor-r2.jar或者inieditor.jar库下面以java程序读写取MySQL中配置文件my.ini文件(实现把my.in原创 2013-04-28 15:30:58 · 1750 阅读 · 0 评论 -
枚举排列问题:生成1-n的排列和可重集排列问题
问题1:生成1-n的排列,采用递归,解决思想:先输出所有以1开头的排列,然后输出以2开头的排列....最后输出以n开头的排列问题2:输入数组P,并按照字典序输出所有全排列。注意数组P中的数可能重复。修改问题1中代码即可实现。问题1对应:easyPermutationPrint(int n, int[] A, int cur)函数,问题2:对应peasyPermuta原创 2013-09-29 17:44:09 · 957 阅读 · 0 评论 -
栈的应用:平衡符号问题
【问题描述】:初学者在编写代码并且编译时,难免会因为少写了一个')'和被编译器报错。也就是说,编译器会去匹配括号是否匹配。当你输入了一个'(',很自然编译器回去检查你是否有另一个')'符号与之匹配。如果所有的括号都能够成对出现,那么编译器是能够通过的。否则编译器会报错。例如字符序列“(a+b)”是匹配的,而字符序列"(a+b]"则不是。在检测括号匹配的算法中使用到了栈,算法描述如下:创建一原创 2013-09-30 11:41:02 · 1078 阅读 · 0 评论 -
2014雅虎校园招聘:二维字符数组查找Yahoo!(软件开发岗)
要求输入的单词的字符之间在数组里面是邻接关系例如 :输入二维字符矩阵如下: A H E L K M O L H B W P查找HELLOW明显可以找到,对应的坐标为(0,1)——>(0,2)——>(0,3)——>(1,3)——>(1,2)——>(2,2),相当于一笔画成原创 2013-09-27 23:21:09 · 1910 阅读 · 2 评论 -
字符串匹配问题:KMP算法
传统字符串匹配和KMP算法转载时请注明来源:http://blog.csdn.net/ccfeng2008JAVA源码如下:/* * @class StringMatching.java * @author ccfeng * @date 2013-10-5 * * */package kmp;import static java.lang.System.原创 2013-10-05 11:59:45 · 768 阅读 · 0 评论 -
java 实现后缀数组及最长回文子串问题
摘要: 后缀数组的java实现。 利用后缀数组来求解最长回文子串问题。关键词: 后缀数组, 倍增算法, 基数排序,height[]数组,最长回文子串参考文献:《后缀数组_处理字符串的有效工具》。part I . 后缀数组中一些相关定义Suffix(i)表示以i开始的后缀, 对于字符串"aabaaaab"来说,Suffix(2)=baaaabRank[i] 表示以Suf转载 2013-10-05 21:59:06 · 2631 阅读 · 0 评论 -
并查集问题:简单java实现
数据结构与算法分析章节Java源码实现public class DisjSets { private int[] s = null; public DisjSets(int num) { s = new int[num]; for (int i = 0; i < num; i++) s[i] = -1; } public void union(int r原创 2013-10-08 16:57:54 · 1293 阅读 · 0 评论 -
最大子序列和问题
给定(有可能有负数)正数A1,A2,...An,求Ai,Ai+1,...Aj的最大值(i>=1,j>=i,jJAVA实现源码如如下:public class MaxSubSum { public static int maxSubSum(int[] a) { int maxSum = 0, thisSum = 0; for (int i = 0, length = a.len原创 2013-09-25 15:08:41 · 642 阅读 · 0 评论 -
动态切换数据源(spring+hibernate)
出处:http://www.cnblogs.com/coveted/archive/2011/10/22/2221317.html起因:在当前我手上的一个项目中需要多个数据源,并且来自于不同类型的数据库... 因为很多历史原因.这个项目的住数据源是MySQL,整个系统的CURD都是操作的这个数据库.但是还有另外两个用于数据采集的数据库: MSSQL,ACCESS.还好只是用于数据采集,转载 2012-12-07 22:02:25 · 538 阅读 · 0 评论 -
Hibernate缓存机制
1. Cache简介:缓存(Cache )是计算机领域非常通用的概念。它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能。缓存中的数据是数据存储源中数据的拷贝,应用程序在运行时直接读写缓存中的数据,只在某些特定时刻按照缓存中的数据来同步更新数据存储源。缓存的物理介质通常是内存,而永久性数转载 2013-10-12 00:13:01 · 556 阅读 · 0 评论 -
Hibernate N+1问题
Hibernate N+1问题在Session的缓存中存放的是相互关联的对象图。默认情况下,当Hibernate从数据库中加载Customer对象时,会同时加载所有关联的 Order对象。以Customer和Order类为例,假定ORDERS表的CUSTOMER_ID外键允许为null以下Session的find()方法用于到数据库中检索所有的Customer对象: L转载 2013-10-11 23:54:37 · 571 阅读 · 0 评论 -
2014年阿里巴巴笔试题目(28题):最小三元数组距离最优算法
题目描述:三个升序整形数组采用java语言实现,三个数组分别为a,b,c。思想是这样的,每个数组维护一个索引,索引分别为ap,bp和cp,初始化索引均指向数组开头的0位置。距离最小值记为min,主循环如下:(如果其中的某一个索引值超过自身数组大小,则跳出循环),每次读取三个索引中的MIN最小值和MAX最大值(MAX-MIN计算的数值与min最对比,小则替换min),记下最小值对应的索引数组原创 2013-09-25 15:02:25 · 1700 阅读 · 1 评论 -
2014年有道研发岗算法题(9月17):规则序列问题
问题描述:括号序列问题(类似平衡符号问题(利用栈实现))。定义如下规则序列(字符串)1.空序列是规则序列2.如果S是规则序列,那么(S)和[S]也是规则序列3.如果A和B都是规则序列,则AB和BA都是规则序列例子:规则序列:()[](())([][])不规则序列([]](]]给出一些由'(',')','[',']'符号组成的,请问至少原创 2013-09-25 16:06:37 · 1124 阅读 · 0 评论 -
2014年有道研发岗算法题(9月17):数对之差
在整数无序数组中,某个数减去它右边的某个数得到一个数对之差,求所等数对之差的最大值,要求时间复杂度不超过O(nlogn)例子{ 3,2,1,5 }的数对最大值为2采用分治算法。把数组分为两部分,最大的数对差要么可能初在数组的左半边,要么出现在右半边,要么出现在左半边的最大数减去右半边的最小数。时间复杂度度为O(nlogn)JAVA具体实现如下(代码不涉及对数组合法性等的检查,实原创 2013-09-25 17:07:07 · 971 阅读 · 1 评论 -
JNA 技术解密
JNA工作原理JNA是建立在JNI技术基础之上的一个Java类库,它使您可以方便地使用java直接访问动态链接库中的函数。原来使用JNI,你必须手工用C写一个动态链接库,在C语言中映射Java的数据类型。JNA中,它提供了一个动态的C语言编写的转发器,可以自动实现Java和C的数据类型映射。你不再需要编写C动态链接库。当然,这也意味着,使用JNA技术比使用JNI技术调用动态链接库会转载 2012-09-10 16:36:15 · 1095 阅读 · 0 评论