java开发
迷途小码
大数据及后台开发
展开
-
Java代码中创建子进程并添加JVM参数
class JavaProcess { private JavaProcess() { } public static int exec(Class clazz, List<String> jvmArgs, List<String> args) throws IOException, InterruptedException { Str...翻译 2020-03-17 16:33:08 · 755 阅读 · 0 评论 -
关于GZIPInputStream的bug
http://cin-ie.iteye.com/blog/859822关于GZIPInputStream的bug,在jdk的最新版本上竟然还没解决这个问题。用到gzip的需要注意了:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4691425问题描述:在使用GZIPInputStream对gizp文件进行读取...原创 2020-02-13 14:05:47 · 909 阅读 · 0 评论 -
OutOfMemoryError unable to create new native thread
需调整以下参数Java虚拟机本身:-Xms,-Xmx,-Xss;系统限制:/proc/sys/kernel/pid_max,/proc/sys/kernel/thread-max,max_user_process(ulimit -u),/proc/sys/vm/max_map_count...原创 2020-02-13 13:58:43 · 216 阅读 · 0 评论 -
Java中进制转换
为了显示一个byte型的单字节十六进制(两位十六进制表示)的编码,请使用:Integer.toHexString((byteVar & 0x000000FF) | 0xFFFFFF00).substring(6)byteVar & 0x000000FF的作用是,如果byteVar 是负数,则会清除前面24个零,正的byte整型不受影响。(...) | 0xFFFFFF00...转载 2019-10-20 14:35:54 · 461 阅读 · 0 评论 -
String/StringBuffer/StringBuilder
重构:仔细查看,改进代码我建议你进行一个练习:当你第二天早晨开始工作的时候,重新审视你的项目源码,尝试发现进行重构的机会。就算你的领导没有要求,仍然去做。因为在工作中,你希望有一些激动人心的时候。重构是一门改变已经正常的工作的艺术。但是重构是需要理由的。可能是设计改进,性能问题,安全角色或者很多其他的原因。改进程序的技术缺点是要冒风险的,尽管能够使其更稳定,并且可能能够提高你自己今转载 2014-01-27 10:45:19 · 748 阅读 · 0 评论 -
使用apache daemon让java程序在unix系统上以服务方式运行
通过使用apache_commons_daemon,可以让Java程序在unix系统上以服务器的方式运行。当然,通过wrapper也是可以达到这样的目的,wrapper还可以指定java应用中用到的第三方jar目录,由wrapper统一加载,很方便。详细使用方法见“wrapper在unix下的使用”。apache daemon的安装与使用1、运行环境:unix 64bit转载 2013-11-18 16:47:57 · 1026 阅读 · 0 评论 -
bytes of a string in java?
Question:In java if i have a String x how can i calculate the number of bytes in that string?As such, your question doesn't make any sense, since a string is a list of characters (i.e. code poin转载 2013-09-29 15:50:16 · 746 阅读 · 0 评论 -
Java IO性能分析
IO操作几乎对于所有的应用都是非常重要的,因为IO操作非常容易导致性能瓶颈。在Java的世界里存在两大类IO,传统IO(TIO)和新IO(NIO)。外加一个即将到来的增强版的NIO——NIO2(JDK7)。 NIO(以及NIO2)主要用于在一些特定情况下增强性能、提供更好的操作系统层次IO功 IO操作几乎对于所有的应用都是非常重要的,因为IO操作非转载 2013-09-26 18:01:59 · 1296 阅读 · 0 评论 -
log4j高级技巧--动态配置日志输出文件的位置
log4j高级技巧--动态配置日志输出文件的位置 log4j的通常用法就是通过在其配置文件(xml或properties)中直接将输出文件写死,在很多情况下,这样做是非常简单而又有效的。但这样做的缺点是,如果想让这个web应用运行起来,必须要修改log4j的配置文件。比如struts2.x中log4j的配置,每个人都得按照自己的路径进行配置。这无疑增加了配置的复杂性。因此,在某些情况转载 2013-07-18 11:10:44 · 5900 阅读 · 0 评论 -
不错的linux下通用的java程序启动脚本
原文地址:http://www.tudaxia.com/archives/10start函数中,nohup部分其实也可以提出来放入一个配置变量中。这里没有修改直接贴上作者的原文#!/bin/sh#该脚本为Linux下启动java程序的通用脚本。即可以作为开机自启动service脚本被调用,#也可以作为启动java程序的独立脚本来使用。##Author: tudaxia.com,转载 2013-07-04 16:59:13 · 1051 阅读 · 2 评论 -
基于java的程序OutOfMemory问题的解决及Xms/Xmx/Xss的解释和应用
长期以来一直都是做java应用的开发,所使用的开发工具基本上也都是基于java的,经常用的有eclipse, netbeans, ant, maven, cruisecontrol, tomcat, findbugs等。在使用这些工具的时候,有时候会碰到OutOfMemory的问题。 问题一般在遇到这个问题的时候,我们的第一印象是:一定是机器的内存不够用了。可是通过进程管理器查转载 2013-07-18 11:40:14 · 942 阅读 · 0 评论 -
Java语言中ArrayList对象能直接赋值给另一个ArrayList对象
num1=num2是将num1的地址值指向num2,而num1原先的对象会被垃圾回收。但是在这里我想告诉你的是集合之间的复制方法: 方法一:ArrayList num2 = new ArrayList(num1);//利用集合自带的构造方法 方法二:ArrayList num2 =(ArrayList) num1.clone();//利用克隆的方法进行赋值。转载 2014-02-21 10:04:43 · 3910 阅读 · 0 评论 -
关于抽象类中构造函数的一些学习
子类在创建实例后,类初始化方法会调用父类的初始化方法(除了java.lang.Object类,因为java.lang.Object类没有父类),而这种调用会逐级追述,直到java.lang.Object的初始化方法。这个地方我说的是初始化方法,而不是构造方法,因为构造方法是相对于java源程序而言,而编译后的class文件是初始化方法即""方法(红色部分为方法名),初始化方法是由java源程序转载 2014-02-21 14:58:53 · 1523 阅读 · 0 评论 -
使用 Maven 执行 java main class(java应用程序)
使用 Maven 执行 java main class(java应用程序)今天突然想练练自己脱离IDE的 hard code 水平,于是只是用 maven & UE 做了一些练习,突然发现了一个问题,如何使用maven指令执行 java main 呢?一开始想了一个比较直接的解决方式,直接使用 java 指令:java -cp target/classes org.ts.App转载 2013-07-04 15:47:00 · 1833 阅读 · 0 评论 -
整理用Java实现数字转化成字符串左边自动补零方法
Java 中给数字左边补0(1)方法一import java.text.NumberFormat;public class NumberFormatTest { public static void main(String[] args) { //待测试数据 int i = 1; //得到一个NumberFormat的实例转载 2013-08-21 15:33:48 · 809 阅读 · 0 评论 -
SSL 3.0曝出Poodle漏洞的解决方案
SSL 3.0曝出高危漏洞2014年10月15日,Google研究人员公布SSL 3.0协议存在一个非常严重的漏洞,该漏洞可被黑客用于截取浏览器与服务器之间进行传输的加密数据,如网银账号、邮箱账号、个人隐私等等。SSL 3.0的漏洞允许攻击者发起降级攻击,即欺骗浏览器说“服务器不支持更安全的安全传输层(TLS)协议”,然后强制其转向使用SSL 3.0,在强制浏览器采用SSL 3.0与服转载 2015-05-26 10:53:57 · 4277 阅读 · 0 评论 -
SequenceInputStream合并流
目录(?)[-]SequenceInputStreamSequenceInputStream SequenceInputStreampublic SequenceInputStream(EnumerationInputStream> e)通过记住参数来初始化新创建的 SequenceInputStream,该参数必须是生成运转载 2015-04-24 14:23:59 · 487 阅读 · 0 评论 -
Java 文件编码
http://wenku.baidu.com/view/59036ac52cc58bd63186bd6e.htmlhttp://wenku.baidu.com/view/533870ed102de2bd9605880b.html Java根据java文件编码作为所要处理的编码将文本读入内存,在内存中的操作以unicode编码方式进行,在输出文本的时候还是按文件编码的编码方原创 2014-07-01 13:16:29 · 665 阅读 · 0 评论 -
Java中的分隔符处理
在程序中不要硬性编码与平台相关的任何常量,比如行分隔符,文件分隔符,路径分隔符等等,这些常量在不同的平台上是不同的,比如文件分隔符,在UNIX和MAC中是“/”,在windows中是“\”,如果要使用这些常量,需要使用jdava.util.Properties类的getProperty方法,或者 System.getProperty("file.separator");例如:原创 2014-07-01 13:15:08 · 3037 阅读 · 0 评论 -
IniEditor - INI文件读写
IniEditor users = new IniEditor();try { users.load("D://test//users.ini");} catch (IOException e) { e.printStackTrace();}users.set("root", "last_login", "2003-05-16");users.addComment("root", "原创 2014-07-01 13:13:10 · 826 阅读 · 0 评论 -
JVM - java.lang.OutOfMemoryError: unable to create new native thread
问题描述Java程序运行过程中抛出java.lang.OutOfMemoryError: unable to create new native thread,如下所示:[java] view plaincopyjava.lang.OutOfMemoryError: unable to create new native thread at java.la转载 2014-07-16 13:10:54 · 1228 阅读 · 0 评论 -
ClassNotFoundException: org.slf4j.LoggerFactory
上面那个exception主要需要增加的是以下三个包:log4j-1.2.16.jarslf4j-api-1.6.1.jarslf4j-log4j12-1.6.1.jar原创 2014-01-27 10:43:01 · 2020 阅读 · 0 评论 -
使用Java自带API进行MD5加密
public class EncryptionByMD5 { public static String getMD5(byte[] source) { String s = null; char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',转载 2013-08-21 15:35:51 · 1934 阅读 · 0 评论 -
java文件读写操作
1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName)转载 2013-07-18 11:12:23 · 899 阅读 · 0 评论 -
maven - 概念与实例
最近由于工作原因在研究、应用Maven,有了一些体会就写成了此文。本文虽然是Maven2的入门文章,但并不涉及Maven的历史、下载与安装,这些内容可以到Maven的官方网站上了解。本文主要是关注Maven中的重要概念,并以一个实例来阐述使用Maven的基本方法。文末有例子代码下载的链接。(2007.01.02最后更新)注:转载时请注明原作者(jiangshachina)及出处(http:转载 2014-01-17 15:47:55 · 617 阅读 · 0 评论 -
GC - 成为Java GC专家系列(3) ——如何优化Java垃圾回收
原文地址:http://www.cubrid.org/blog/dev-platform/understanding-java-garbage-collection/翻译原文:http://www.importnew.com/1993.html注:次系列文章是我在ImportNew的基础上进行整理翻译的(主要是格式修改和翻译校对)。本文是成为Java GC专家系列文章的第三篇。在第一篇转载 2013-11-12 15:24:58 · 1376 阅读 · 0 评论 -
JavaGC - jni_invoke_nonstatic SIGSEGV
Question:I'm using javacpp to wrap proprietary library and sometimes I get this error with VM crash:## A fatal error has been detected by the Java Runtime Environment:## SIGSEGV转载 2014-04-28 10:45:52 · 1853 阅读 · 0 评论 -
Mina - 2.x 超详实例
最近使用Mina开发一个Java的NIO服务端程序,因此也特意学习了Apache的这个Mina框架。 首先,Mina是个什么东西?看下官方网站(http://mina.apache.org/)对它的解释: Apache的Mina(Multipurpose Infrastructure Networked Applications)是一个网络应用框架,可以帮助用户开发高性能和高扩展性转载 2013-07-08 10:00:58 · 1149 阅读 · 0 评论 -
Java日志 - hibernate中为什么要额外配置slf4j
Question:hibernate中为什么要额外配置slf4j,是不是配置log4j也可以?Answer:slf4j.nop.jar是slf-api.jar其相应的接口实现,把slf的接口对到log4j的实现把slf的实现slf4j-nop-1.5.8.jar去掉,添加log4j的实现log4j-1.2.15.jar,再添加一个slf-api和log4j转换器slf4j-转载 2014-02-21 11:12:00 · 1448 阅读 · 0 评论 -
jsvc - 关于Apache Common Daemon 看护进程
转自 http://www.douban.com/note/128672313/Java语言自1994年出现至今,初期是作为客户端与网页Applet形式来发展的,后来慢慢进化为服务器端开发语言。但是因为Java的可移植性,它必须运行在JVM上,且以进程方式运行,所以对Java程序生命周期的管理较为麻烦。尤其当Java程序需要以守护进程形式,长期在后台运行时,更是如此。试想对一个Java程序转载 2014-01-02 15:37:19 · 1979 阅读 · 0 评论 -
JavaFTP - Displaying a custom file structure
Question:How do you make a custom file structure to show it to the user in the FTP client? The custom file structure is a abstract view just for the user.Answer:You'll need to provide your o转载 2013-08-20 17:08:49 · 837 阅读 · 0 评论 -
java线程---Runnable和Thread的区别
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限, 下面看例子: package org.thread.demo; class MyThread extend转载 2014-04-22 15:26:12 · 660 阅读 · 0 评论 -
CP930转SJIS编码
//import java.io.*;//public class CP930toSJIS { public static void main(String args[]) { int c; try { FileInputStream fin = new FileInputStream(args[0]);原创 2014-04-21 10:38:21 · 2624 阅读 · 0 评论 -
ApacheFtpServer - Custom command extension
I'm a new user of Apache FtpServer. I want to add custom command. Author say on thefeatures page "All the FTP messages are customizable." but did not talk about new custom command.I could simply a原创 2014-05-04 15:16:10 · 1056 阅读 · 0 评论 -
Java线程 - 后台线程 daemon thread
java中的后台线程,是Thread实例设置了setDaemon(true),即将daemon属性设置为了true。 当程序中没有活动的前台线程时,后台线程会被jvm中断,退出程序,这是后台线程和普通线程的唯一区别。需要注意将线程设置为daemon的时机必须在其运行之前。我们可以使用下面实例来实际看下后台进程和前台进程之间的区别。下面代码我们把Thread实例t的daemon属性设置为tr转载 2014-05-04 12:55:12 · 838 阅读 · 0 评论 -
Java线程 - 固定大小线程池示例
newSingleThreadExecutor:创建一个单线程的线程池。这个线程池只有一个线程在工作,也就是相当于单线程串行执行所有任务。如果这个唯一的线程因为异常结束,那么会有一个新的线程来替代它。此线程池保证所有任务的执行顺序按照任务的提交顺序执行。newFixedThreadPool:创建固定大小的线程池。每次提交一个任务就创建一个线程,直到线程达到线程池的最大大小。线程池的大小一旦达到转载 2014-04-30 09:50:20 · 4307 阅读 · 0 评论 -
Java日志 - slf4j和log4j合用的配置(Maven)
添加logger的日志输出,下面是配置信息供备忘步骤:1. 在Maven的porn.xml 文件中添加dependency如下[html] view plaincopydependency> groupId>org.slf4jgroupId> artifactId>slf4j-log4j12artifactId> ver转载 2014-02-21 11:15:01 · 2177 阅读 · 0 评论 -
jsvc - 用common-deamon构建java后台服务
在我们日常开发中,单独启一个java进程来处理业务是至关重要的。试想对一个Java程序,根据不同的时间阶段(如生命周期的不同阶段),使其执行不同功能(如init,start,stop,destroy等);或者在一个Java程序退出前,执行一段代码,完成某些功能等等。Commons Daemon 可以帮你实现将一个普通的 Java 应用编程系统的一个后台服务。例如 Tomcat就转载 2014-01-02 15:02:22 · 2839 阅读 · 0 评论 -
maven - 使用maven运行java的main方法
有些时候我们需要执行maven项目的中的某个类的main方法,Maven的exec插件允许你运行Java项目中的main方法。下面简要介绍下用法:1 编译相关代码,exec执行时是不会为你编译代码的,所以要先编译一下 mvn compile2 运行指定类的main方法,可以指定参数和运行时类路径 mvn exec:java -Dexec.mainClass="com转载 2014-01-27 10:41:30 · 1183 阅读 · 0 评论 -
JavaFTP - Apache Ftp Server Integration
The UserManager subclass deals with authenticating the incoming users via the DB connection via the authenticate(Authentication authentication) method.I believe that it's cleaner to use the UserMana转载 2013-08-27 17:13:50 · 662 阅读 · 0 评论