
java
文章平均质量分 89
陌尘(MoChen)
程序员码龄: 14+年
IT从业经验: 10+年
曾任职单位: 北大方正,阿里巴巴
出版的书籍: 《人人都懂设计模式》、《Python 設計模式》
擅长的语言: C++/Python/JavaScript
涉及的技术: 电子书SDK,PC户端开发,Linux应用开发,前端开发
涉及的行业: 电子出版,在线教育,文档协调,智能机器人
展开
-
如何给JTextPane的内容进行特殊关键字修饰(如用不同的颜色表示)
相信不少人写过关于文本编辑器的程序,或者正在写各类程序。也许你正在为其中的某些问题而烦恼,如怎样对关键字进行修饰就曾经烦扰了我很久,现在已经解决了这个问题,下面就把我解决的方法给大家分享一下吧:首先要说明的是要对关键字进行修饰必须用JTextPane类//第一个类:数据类:WrodNode.javapackage eu.jxau.presubmit;/** * 装有单词和单词所在位置原创 2012-02-28 15:45:20 · 4230 阅读 · 1 评论 -
成为JavaGC专家Part II — 如何监控Java垃圾回收机制
本文是成为Java GC专家系列文章的第二篇。在第一篇《深入浅出Java垃圾回收机制》中我们学习了不同GC算法的执行过程,GC是如何工作的,什么是新生代和老年代,你应该了解的JDK7中的5种GC类型,以及这5种类型对于应用性能的影响。在本文中,我将解释JVM到底是如何执行垃圾回收处理的。什么是GC监控?垃圾回收收集监控指的是搞清楚JVM如何执行GC的过程,例如,我们可以查明转载 2013-12-16 15:25:52 · 1881 阅读 · 0 评论 -
成为Java GC专家IV— Apache的MaxClients参数详解及其在Tomcat执行FullGC时的影响
这是“成为Java GC专家系列文章”的第四篇。在第一篇文章 成为JavaGC专家Part I — 深入浅出Java垃圾回收机制 中我们学习了不同GC算法的执行过程,GC如何工作,新生代及老年代的基本概念,在JDK7中你应该了解的5种GC类型以及他们的性能如何。在第二篇文章 成为JavaGC专家Part II — 如何监控Java垃圾回收机制 中我们学到了JVM到底是如何执转载 2013-12-16 15:29:00 · 2056 阅读 · 0 评论 -
成为Java GC专家系列III— 如何优化Java垃圾回收机制
本文是成为Java GC专家系列文章的第三篇。在第一篇《成为JavaGC专家Part I — 深入浅出Java垃圾回收机制》中我们学习了不同GC算法的执行过程,GC是如何工作的,什么是新生代和老年代,你应该了解的JDK7中的5种GC类型,以及这5种类型对于应用性能的影响。在第二篇《成为JavaGC专家Part II — 如何监控Java垃圾回收机制》,我解释了JVM实际上是如何执行转载 2013-12-16 15:27:34 · 2782 阅读 · 0 评论 -
解决JSP中文乱码问题
原文:http://www.cnblogs.com/chengkai/articles/2171848.html大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着大家,现把JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考。首先了解一下Java中文问题的由来:Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一转载 2014-03-25 23:46:27 · 5020 阅读 · 0 评论 -
Java正则表达中Greedy Reluctant Possessive 的区别
上一篇文章《编程思想之正则表达式 》中讲了正则表达式的原理、使用方法和常见的正则表达式总结,本文将进一步探讨Java正则表达中Greedy、Reluctant、Possessive三种策略的区别。 Java 中Greedy(贪婪的)、Reluctant(勉强的)和Possessive(独占的) 的区别原创 2015-01-16 00:28:28 · 9828 阅读 · 16 评论 -
log4j的使用和配制
原文:还不知道,看的别人的也是转载的。我们先看一个最简单的示例:【示例1】项目结构:【注:由于这里的多个项目公用一个jar包,我们可以创建一个专门放置jar包的Java工程,然后将jar档放到lib目录下。在要使用的工程中按图所示进行引用 】Java代码:Java代码 package com.coderdream.log4j; import org.apache.log4j.Logger;转载 2015-02-08 16:59:52 · 4163 阅读 · 0 评论 -
Java中JDK的安装和path,classpath的环境配置
1,第一步,不用说肯定是去下一个java JDK了。目前最新版本的java JDK应该是JDK 7.0,这个就自己去百度一下了,好多网站都可以找到。2,第二步就是安装JDK虚拟机了,按照它里面的提示一步一步地来。你可以安装在C盘也可以安装在其他盘(如D盘),里面有两个程序。如:我的安装的是JDK6.0,安装在D:\IT\JDK6.0路径下。步骤如下:点“接受”,选择路径D:\I原创 2011-09-19 12:09:14 · 30600 阅读 · 3 评论 -
Java中如何封装自己的类,建立并使用自己的类库?
Java中如何使封装自己的类,建立并使用自己的类库? ——感谢您的阅读,转载请标明出处!随着自己的编程经历的积累会发现往往自己在一些项目中写的类在别的项目中也会有多次用到。你肯定会想:如何自己的写的一些常用的类积累起来,生成自己的类库?如果是这样的话,很庆幸,你遇到通道中人了,因为我也是这样做的。下面就介绍一下我是怎么做的吧:一、先来明白一下关于classpath和原创 2012-02-21 22:49:53 · 54266 阅读 · 24 评论 -
Java程序如何生成Jar、exe及安装文件
Java程序如何生成Jar、exe及安装文件 一、用Eclipse生产Jar文件首先,看一下我的项目的目录结构:1,项目名字上面点右键,选择Export,在选择java\JAR file,下一步;如下图:(2),选择,src文件夹,.classpath和.project可以去掉不选。Select the export distination(选择原创 2012-06-03 14:45:25 · 107202 阅读 · 33 评论 -
Java多线程中wait, notify and notifyAll的使用
在Java的Object类中有三个final的方法允许线程之间进行资源对象锁的通信,他们分别是: wait(), notify() and notifyAll()。调用这些方法的当前线程必须拥有此对象监视器,否则将会报java.lang.IllegalMonitorStateException exception异常。翻译 2015-06-27 22:36:37 · 21775 阅读 · 3 评论 -
编程思想之多线程与多进程(3)——Java中的多线程
在程序需要同时执行多个任务时,可以采用多线程。Java给多线程编程提供了内置的支持,提供了两种创建线程方法:1.通过实现Runable接口;2.通过继承Thread类。Thread是JDK实现的对线程支持的类,Thread类本身实现了Runnable接口,所以Runnable是显示创建线程必须实现的接口; Runnable只有一个run方法,所以不管通过哪种方式创建线程,都必须实现run方法。原创 2015-06-28 20:49:35 · 18428 阅读 · 4 评论 -
再探java基础——throw与throws
再探java基础——throw与throws以前虽然知道一些异常的处理,也用过一些,但是对throw和throws区别还是有不太清楚。今天用实例测试一下。异常处理机制异常处理是对可能出现的异常进行处理,以防止程序遇到异常时被卡死,处于一直等待,或死循环。异常有两个过程,一个是抛出异常;一个是捕捉异常。抛出异常抛出异常有三种形式,一是throw,一个t原创 2013-08-31 14:30:49 · 114758 阅读 · 19 评论 -
char与byte的区别
很多初学者(包括我,已经学了一年多java了)肯会对char和byte这两种数据类型有所疑惑,相互混淆,今天特地查了好多资料,对byte和char两种数据类型进行了总结和比较,先将结果与大家分享: byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 );大小范围 是0—65原创 2012-07-21 16:18:02 · 181263 阅读 · 29 评论 -
java:从消息机制谈到观察者模式
观察者模式,顾名思意就是观察与被观察的关系,比如你在烧开水得时时看着它开没开,你就是观察者,开水就是被观察者;再比如说你在带小孩,你关注她是不是饿了,是不是喝了,是不是撒尿了,你就是观察者,小孩就被观察者。观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。原创 2015-05-13 22:55:02 · 15148 阅读 · 7 评论 -
Java中Synchronized的用法
synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象; 3.修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象;4..原创 2015-06-24 00:25:01 · 506150 阅读 · 135 评论 -
成为JavaGC专家Part I — 深入浅出Java垃圾回收机制
对于Java开发人员来说,了解垃圾回收机制(GC)有哪些好处呢?首先可以满足作为一名软件工程师的求知欲,其次,深入了解GC如何工作可以帮你写出更好的Java应用。这仅仅代表我个人的意见,但我坚信一个精通GC的人往往是一个好的Java开发者。如果你对GC的处理过程感兴趣,说明你已经具备较大规模应用的开发经验。如果你曾经想过如何正确的选择GC算法,那意味着你已经完全理解你所开发的应用的特点。当转载 2013-12-16 15:24:09 · 1531 阅读 · 0 评论 -
Java调优之jvm和线程的内存分析
[本文地址] 本文永久地址是:http://www.mzone.cc/article/321.html 这几天因为自己开发的一个网站在768M内存的机器上撑不起100多个用户的运行,因为每个用户启用功能后,系统将为每个用户分配8个左右的独立线程,我的这篇文章http://www.mzone.cc/article/311.html也有介绍的。在内存小的机器上经常出现的问题就是Can转载 2013-12-16 15:21:46 · 3319 阅读 · 1 评论 -
maven 配置
转载自 http://blog.youkuaiyun.com/ljfbest/article/details/8045988安装好maven后,想要使用他的一些命令,需要配置环境变量PATH:D:\study\apache-maven-3.0.4\bin运行mvn命令实际上是执行了Java命令,既然是运行Java,那么运行Java命令可用的参数当然也应该在运行mvn命令时可用。转载 2013-11-23 11:49:52 · 14668 阅读 · 1 评论 -
常用邮箱的服务器名
国内常用免费邮件POP3和SMTP设置邮箱Foxmial ,Outlook等客户端设置网易邮箱 POP3 和 SMTP 服务器地址设置如下:邮箱 POP3 服务器(端口110) SMTP 服务器(端口25) @163.com pop3.163.com smtp.163.com @126.com pop3.126.com smtp.126.com @netease.com pop.netease转载 2012-07-23 20:17:45 · 202082 阅读 · 0 评论 -
有引用外部jar包时(J2SE)生成jar文件
一.工程没有引用外部jar包时(J2SE)选中工程---->右键,Export...--->Java--->选择JAR file--->next-->选择jar file的路径及名称-->next-->next--- 选择Main class--->finish. 二.工程有引用外部jar包时(J2SE)第一种方案当工程引用了其他的外部jar时,由于eclips转载 2012-07-27 07:42:55 · 12289 阅读 · 2 评论 -
JTextArea的多行整体左缩进与右缩进
import java.awt.BorderLayout;import java.awt.Container;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.JFrame;import javax.swing.JTextArea;import javax.swing原创 2012-08-26 16:33:47 · 3945 阅读 · 1 评论 -
用JWidow写一个可以在桌面上拖动的小时钟
很多人可能对JWidow的使用不太清楚,下面就对JWidow写的一个小例子供参考!import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.原创 2012-09-23 20:16:42 · 2180 阅读 · 0 评论 -
二进制、八进制、十进制、十六进制之间的转换
最近在研究图像识别的时候遇到进制之间的转换,虽然之前也了解基二进制、八进制、十进制、十六进制之间转换的基本原理,但还没有在java里对其进行实现过。于是就对其进行了一翻研究,现将自己学习的总结与大家分享一下。基本原理二进制——>十进制1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13八进制——>十进制1101(8)=1*8^0+0*8^原创 2012-11-13 21:50:59 · 13630 阅读 · 0 评论 -
模拟复数及其运算
复数数集拓展到实数范围内,仍有些运算无法进行。比如判别式小于0的一元二次方程仍无解,因此将数集再次扩充,达到复数范围。形如z=a+bi的数称为复数(complex number),其中规定i为虚数单位,且i^2=i×i=-1(a,b是任意实数)。我们将复数z=a+bi中的实数a称为复数z的实部(real part)记作Rez=a,实数b称为复数z的虚部(imaginary part)记原创 2012-11-26 15:48:53 · 4973 阅读 · 1 评论 -
Java中的50个关键字
Java中的50个关键字 关键字也称为保留字,是指java语言中规定了特定含义的标示符。对于保留字,用户只能按照系统规定的方式使用,不能自行定义。Java中有50个常用关键字:与数据类型相关(10) 关键字类型占字节数备注boolean布尔数据类型1有true和false两个值int整型数据类型4原创 2011-09-14 22:26:26 · 35397 阅读 · 6 评论 -
MyEclipse各种版本注册码
一:MyEclipse_6.0.1GA_E3.3.1_FullStackInstaller注册码Subscriber:javpSubscription Code:wLR7ZL-655551-68586356379508982Subscriber:AdministratorSubscription Code:NLR8ZC-855055-65677556686438302转载 2013-03-05 11:03:43 · 19480 阅读 · 0 评论 -
想知道&&与&及||与|之间的区别吗?
逻辑运算与位运算逻辑运算在程序设计中的逻辑运算有boolean逻辑运算和位逻辑运算两种,boolean逻辑运算是求判断条件的真假,返回的值是boolean类型;位逻辑运算一般是对整型数据(int)类型的运算,返回的int类型的数据。boolean逻辑运算boolean逻辑运算主要有与(&&)运算、或(||)运算和非(!)运算。a&&b,只有当a和b同时为真时才能为真原创 2013-03-11 19:33:41 · 4213 阅读 · 4 评论 -
再探java基础——对面向对象的理解(2)
对象、类和抽象类的区别对象是一个具体的事物,类是对具有相同属性和行为的一组对象的抽象,对象是类的一个一个人的具体实例;抽象类是一种特殊的类,是对类的进一步抽象,抽象类不能被实例化。类、抽象类和接口的异同部分内容借鉴以下博文:http://www.cnblogs.com/qiuxiaoju/p/3174068.html在面试可能经常被问到,接口有什么作用?相对于类而言原创 2013-09-29 23:52:16 · 3449 阅读 · 4 评论 -
再探java基础——零碎基础知识整理
1.java是解释型语言。java虚拟机能实现一次编译多次运行。2.JDK(java software Development kit 软件开发包),JRE(java Runtime Environment java运行环境)。3.javac编译java程序,java运行java程序。4.一个文件最多有一个public class。5.java中switch语句只能原创 2013-09-30 01:00:59 · 4476 阅读 · 6 评论 -
再探java基础——对面向对象的理解(1)
对象对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有属性和行为,在程序设计中对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。比如,人具有身高、体重等属性,具有吃饭、行走、睡觉等行为,在程序设计中属性对应着要存储的数据,行为对应着操作;数据和操作封装在同一个类中。面向对象与面向过程原创 2013-09-29 22:15:18 · 6753 阅读 · 1 评论 -
再探java基础——StringBuilder与StringBuffer的区别
相信大家看到过很多比较String和StringBuffer区别的文章,也明白这两者的区别,然而自从Java 5.0发布以后,我们的比较列表上将多出一个对象了,这就是StringBuilder类。String类是不可变类,任何对String的改变都会引发新的String对象的生成;而StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象,可变和不可变类这一对对象已经齐全转载 2013-10-10 09:19:09 · 2582 阅读 · 1 评论 -
再探java基础——break和continue的用法
再探java基础——break和continue的用法breakbreak可用于循环和switch...case...语句中。用于switch...case中:执行完满足case条件的内容内后结束switch,不执行下面的语句。eg:public static void breakSwitch1() { int n = 1; switch (原创 2013-08-31 19:09:42 · 61248 阅读 · 2 评论 -
再探Java基础——String.format(String format, Object… args)的使用
最近看到类似这样的一些代码:String.format("参数%s不能为空", "birthday"); 以前还没用过这功能不知咐意思,后研究了一下,详细讲解如下。 public static String format(String format, Object... args)的功能非常强大,用法非常灵活。主要的意思是返回指定的格式化的字符串。Format参数为格式字符串语法如下:原创 2013-10-31 17:48:53 · 17831 阅读 · 1 评论 -
从MyEclipse到IntelliJ IDEA ——让你摆脱鼠标,全键盘操作
从MyEclipse到IntelliJ IDEA——让你摆脱鼠标,全键盘操作 从MyEclipse转战到IntelliJ IDEA的经历我一个朋友写了一篇“从Eclipse到Android Studio”博文,于是心潮澎湃我也想一篇,分享自己用这个IDEA的一些技巧和感受。来到公司的第一天,我的同事(也是我的师傅)就让我装IntelliJ IDEA。一开始我还不知道IntelliJ IDEA是什么...原创 2013-10-31 23:32:52 · 108096 阅读 · 12 评论