
JAVA
Eric-L90
New year,New life
展开
-
一个java的单例类
其实初学java的时候一直没有弄明白单例是什么意思,现在终于明白了。下面是一个简单的单例:public class SingleInstance { //设置一个实例对象,只允许这一个类对象 private static SingleInstance instance = null; //私有化构造函数,保证不被其他的使用 private SingleInstance() {原创 2015-04-14 11:45:51 · 703 阅读 · 0 评论 -
java中System.getProperty的用法。
在看一些java源码程序的时候,经常发现一些System.getProperty()和setProperty。看一下具体是怎么用的。可以通过System.getProperties().toString() 看一下目前所有的属性,都是keyvalue对。System可以有对标准输入,标准输出,错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分转载 2015-10-12 15:06:43 · 55462 阅读 · 2 评论 -
java的Locale类
Java国际化我们使用java.lang.Locale来构造Java国际化的情境。java.lang.Locale代表特定的地理、政治和文化。需要Locale来执行其任务的操作叫语言环境敏感的操作。构造一个系统默认的LocaleLocale defaultLocale = Locale.getDefault();获得此Java虚拟机当前线程默认的语言环境值 获取当前Ja转载 2015-10-12 16:30:31 · 11394 阅读 · 0 评论 -
java中Thread和Runnable的区别
java中关于多线程处理主要有两个,Thread和Runnable接口.刚学的时候,一直不了解为啥要有这两个类,这两个有啥区别.主要区别有两个: 1,Thread类只能继承一个类 2,Thread不能用于资源共享 在开发过程中用到的基本上都是Runnab,通过下面的例子也能看出区别来: package threadtest;public cla原创 2015-12-25 10:39:21 · 608 阅读 · 0 评论 -
java多线程辅助类CountDownLatch
今天在看源码的时候突然发现了一个从来没见过的类CountDownLatch,百度了一下,说是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,允许一个或者多个线程一直等待。可能是从c++中带来的习惯。我一直用无限循环for(;;)来等待线程的结束。 了解了这个类的作用后,简单了测试了一下,使用非常简单,代码如下:import java.util.concurrent.CountDo原创 2015-12-25 21:03:39 · 683 阅读 · 0 评论 -
解决:remove override annotation问题
Remove '@override' annotation解决办法 最近刚刚配置了新机器,将原来的代码放在eclipse上执行,总会出现Remove '@override' annotation,如果要一个个手动删除相当麻烦,最后在网上找了一下原因原来是编译器版本的问题。 @override:表示一个方法声明打算重写超类中的另一个方法声明。如果方法利用此注释类型进转载 2016-04-13 10:31:43 · 1047 阅读 · 0 评论 -
HttpClient 4.5版本设置连接超时时间
摘要: HttpClient 4.5版本升级后,设置超时时间的API又有新的变化,请大家关注。 HttpClient升级到4.5版本后,API有很多变化,HttpClient 4之后,API一直没有太稳定,我感觉4.5版本抽象后,很多API应该快稳定了。 使用HttpClient,一般都需要设置连接超时时间和获取数据超时时间。这两个参数很重要,目的是为了防转载 2016-11-15 21:01:41 · 1012 阅读 · 0 评论 -
JMH工具进行基准测试简单使用
参考资料: http://www.importnew.com/12548.html http://blog.youkuaiyun.com/hfmbook/article/details/70209150 依赖库:<dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-core</arti原创 2017-08-08 11:31:39 · 2428 阅读 · 0 评论 -
jvm 开始压缩指针
在jvm的heap配置小于32的时候jvm参数配置如下: -XX:+UseCompressedOops -XX:+UnlockDiagnosticVMOptions -XX:+PrintCompressedOopsMode参考链接: http://www.iteye.com/topic/470404 http://blog.sina.com.cn/s/blog_56d8ea900102w2原创 2017-11-23 14:51:50 · 919 阅读 · 0 评论 -
java序列化
一直不太明白什么是序列化,因为没有用到过这方面的知识,也一直没有去查到底什么意思。最近,在研究Storm的时候,发现里面有序列话的知识。必须弄明白了。其实,一句话就能说明什么是序列话:序列化就是将对象转换成能存储到文件中的数据流。因为纯粹的对象是无法用来进行传输,存储的。需要转换成数据流。而反序列话就是将该对象从文件中读取出来。下面是java中的一个例子,非常简单:原创 2015-10-22 14:09:01 · 556 阅读 · 0 评论 -
Eclipse Java代码折叠插件 Code Folding
eclipse对于if等语句不能折叠真是太蛋疼了。用下面的插件解决:http://www.360doc.com/content/13/0826/11/1542811_309960108.shtml注意,配置完后要重启才能生效的。转载 2015-07-23 17:47:47 · 3037 阅读 · 0 评论 -
hbase为避免热点,预先创建分区region
最近在使用hbase的时候,遇到了热点问题。我有三台regionserver,结果入数据的时候,总是在一台机器上写数据,导致io和cpu都很高,最后出现了memstore内存溢出的问题。后来才明白,这是因为刚开始入数据的时候只有一个region,所以数据一直往第一台机子的region上写。等到region到了一定大小之后才开始分割成两个。这样就导致了热点问题。采取的方案就是创建表的时候提前创建好分原创 2015-04-24 10:28:10 · 4235 阅读 · 0 评论 -
java 中用split分割字符串,最后的空格等不被拆分。
在使用java中的split按照“\t”,拆分字符串的时候,发现如果最后的几个字段是空,只是用\t分割,是连着的\t的话,就不会被分割,如 “d\tc\te\t\t\t”最后的几个\t就不会被分割,应该是在拆分之前对字符串进行了处理。导致的拆分字段个数错误。查了一下APi,需要在split中添加参数-1,String[] values = line.split("\t",-1);imit原创 2015-04-21 11:40:03 · 11531 阅读 · 0 评论 -
Java无需解压直接读取Zip文件和文件内容
package test;import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.ut转载 2015-04-17 16:13:56 · 2666 阅读 · 0 评论 -
Java实现获取指定路径下的指定格式的文件,如bcp,txt等
在使用java的过程中,通常会用到一些小的知识点,如搜索特定格式的文件等等,实现的方式有多种,找一种顺手的就可以了。搜索特定文件的本地还是使用endWith()函数。以前写c/c++的时候没有发现这么好用的函数。哈哈package filenameFilter; import java.io.File; /* * 实现功能: * 获取指定路径下的指定格式的文件;转载 2015-04-17 16:05:42 · 3648 阅读 · 0 评论 -
java中replaceAll不区分大小写替换
http://hw1287789687.iteye.com/blog/2150897Java 中replaceAll如何忽略大小写呢?方式一:在正则表达式前面添加(?i)Java代码 @Test public void test_replaceAll33(){ String input = "I like Java,jAva转载 2015-05-19 09:11:09 · 7703 阅读 · 0 评论 -
设置开机启动脚本环境
在linux中对某个软件设置开机自启动是经常用到的。基本上就这么个流程: 将开机启动脚本复制到/etc/init.d/目录下 然后 chmod +x 脚本 添加可执行权限 然后chkconfig --add 脚本名 添加自启动程序 然后chkconfig 脚本名 on 开原创 2015-05-23 11:45:25 · 630 阅读 · 0 评论 -
java -jar 报错,classnotfound
打包可执行jar包时,MANIFEST.MF总是个让人头疼的东西,经常出现这种那种问题。 一个例子: ================================================================================ Manifest-Version: 1.0 Main-Class: test.Main Class-Path: ./转载 2015-06-15 16:18:07 · 2603 阅读 · 0 评论 -
jvm配置
一、设置JVM内存设置1. 设置JVM内存的参数有四个:-Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;-Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;-Xmn Java Heap Young区大小,不熟悉最好保转载 2015-08-15 14:34:28 · 608 阅读 · 0 评论 -
Intellij Lambda expressions are not supported at this language level
jdk是1.8版本,但是在写代码的时候还是碰到了这个错误。查了一下,是因为版本没匹配好。 解决方法如下: File -> Project Structure -> Project -> Project Language Level File -> Project Structure -> Modules -> Language Level如下: ...原创 2018-03-16 11:09:40 · 1455 阅读 · 0 评论