java
文章平均质量分 58
tailneedle
这个作者很懒,什么都没留下…
展开
-
缓冲流的用法
1、java.io.BufferedReader和java.io.BufferedWriter类各拥有8192字符的缓冲区。当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取。如果缓冲区数据不足,才会再从文件中读取,使用BufferedWriter时,写入的数据并不会先输出到目的地,而是先存储至缓冲区中。如原创 2017-07-11 10:08:40 · 520 阅读 · 0 评论 -
线程优先级
线程优先级设置:setPriority(int value) 括号参数是1-10级别。1代表最低级别,10代表最高级别。小于1或大于10,会抛出IllegalArgumentException异常。JDK源代码优先级定义如下:public final void setPriority(int newPriority) { ThreadGroup g; ch原创 2017-12-23 12:28:36 · 191 阅读 · 0 评论 -
线程小例子
通过Thread 实现的线程public class Demo1 { public static void main(String args[]) { Thread thread = Thread.currentThread(); System.out.println("当前线程:" + thread); thread.setNam原创 2017-12-23 09:27:59 · 184 阅读 · 0 评论 -
优先级
线程优先级设置:setPriority(int value) 括号参数是1-10级别。1代表最低级别,10代表最高级别。小于1或大于10,会抛出IllegalArgumentException异常。JDK源代码优先级定义如下:public final void setPriority(int newPriority) { ThreadGroup g; ch原创 2017-12-23 23:53:42 · 217 阅读 · 0 评论 -
优先级
线程优先级设置:setPriority(int value) 括号参数是1-10级别。1代表最低级别,10代表最高级别。小于1或大于10,会抛出IllegalArgumentException异常。JDK源代码优先级定义如下:public final void setPriority(int newPriority) { ThreadGroup g; ch原创 2017-12-23 23:54:01 · 141 阅读 · 0 评论 -
优先级
线程优先级设置:setPriority(int value) 括号参数是1-10级别。1代表最低级别,10代表最高级别。小于1或大于10,会抛出IllegalArgumentException异常。JDK源代码优先级定义如下:public final void setPriority(int newPriority) { ThreadGroup g; ch原创 2017-12-23 23:54:14 · 150 阅读 · 0 评论 -
优先级
线程优先级设置:setPriority(int value) 括号参数是1-10级别。1代表最低级别,10代表最高级别。小于1或大于10,会抛出IllegalArgumentException异常。JDK源代码优先级定义如下:public final void setPriority(int newPriority) { ThreadGroup g; ch原创 2017-12-23 23:54:26 · 187 阅读 · 0 评论 -
优先级
线程优先级设置:setPriority(int value) 括号参数是1-10级别。1代表最低级别,10代表最高级别。小于1或大于10,会抛出IllegalArgumentException异常。JDK源代码优先级定义如下:public final void setPriority(int newPriority) { ThreadGroup g; ch原创 2017-12-23 23:54:38 · 191 阅读 · 0 评论 -
优先级
线程优先级设置:setPriority(int value) 括号参数是1-10级别。1代表最低级别,10代表最高级别。小于1或大于10,会抛出IllegalArgumentException异常。JDK源代码优先级定义如下:public final void setPriority(int newPriority) { ThreadGroup g; ch原创 2017-12-23 23:54:51 · 239 阅读 · 0 评论 -
Web容器和Web应用程序
Web容器和Web应用程序介绍Web 应用程序是服务器方应用程序. 它的开发的最基本要求如下:编程模型和 API, 服务器方运行时支持, 实施(deployment)支持. 实施是指在服务器上安装应用程序的过程. 这一过程还包括配置应用程序组件, 如指定初始化参数和指定任何数据库.Web 容器实际上是一个 Java 运行时(Runtime), 提供了 Java Servlet API原创 2017-12-17 11:20:27 · 510 阅读 · 0 评论 -
Java多线程问题汇总
Java多线程问题汇总1、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然”,只有达到”知其然知其所以然”的程度才可以说是把一个知识点运用自如。OK,下面说说我对这个问题的看法:(1)发挥多核CPU的优势(比较重要)随着工业的进步,现在的原创 2017-12-17 11:25:49 · 133 阅读 · 0 评论 -
mybatis #和$的区别
1. #将传入的数据都当成一个字符串,即会对自动传入的数据加一个双引号。如:对于sql语句order by #{name},如果传入的值是123,那么解析成sql时的值为order by "123", 如果传入的值是tom,则解析成的sql为order by "tom"。2. $将传入的数据直接显示生成在sql中,不会添加引号。 如:对于sql语句order by ${name原创 2017-12-18 16:45:03 · 157 阅读 · 0 评论 -
Thread和Runnable的区别
如果一个类继承Thread,则不适合资源共享。但是如果实现了Runable接口,很容易的实现资源共享。总结:实现Runnable接口比继承Thread类所具有的优势:1):可以避免java中的单继承的限制.2):增加程序的健壮性,代码可以被多个线程共享,多个线程处理同一个资源,代码和数据独立。3):线程池只能放入实现Runable或callable类线程,不能直接放入继承T原创 2017-12-23 11:20:42 · 287 阅读 · 0 评论 -
同步和异步
同步就是一件事一件事的做。异步就是,做一件事情,不影响做其他事情。例如:吃饭和说话,只能一件事一件事的来,因为只有一张嘴。但吃饭和听音乐是异步的,因为,听音乐并不引响我们吃饭。原创 2017-12-23 09:11:15 · 185 阅读 · 0 评论 -
synchronized 用在实例方法和类方法的区别
在Java中,synchronized 是用来表示同步的,我们可以synchronized 来修饰一个方法。也可以synchronized 来修饰方法里面的一个语句块。 修饰实例方法:Java代码 public synchronized void normalMethod() throws InterruptedException { for (i原创 2017-12-21 19:36:42 · 4116 阅读 · 0 评论 -
java如何产生1到10之间的随机数
java.util.Random random=new java.util.Random();// 定义随机类int result=random.nextInt(10);// 返回[0,10)集合中的整数,注意不包括10return result+1; // +1后,[0,10)集合变为[1,11)集合,满足要求原创 2017-07-12 09:46:27 · 56627 阅读 · 5 评论 -
检查数组是否包含某个值
//使用list判断是否包含目标值public class isListContains { //数组转换成list判断,一个元素是否存在于list集合之后 public static void main(String args[]){ String str[]={"杜牧","孙少安","孙少平","兰香","三星","孙玉德"};原创 2017-07-13 09:49:18 · 1074 阅读 · 0 评论 -
java.lang.OutOfMemoryError: GC overhead limit exceeded解决办法
1.此错误是JDK6新增加的新特性,当GC为释放较少的空间而占用较大的时间时,抛出此异常。引起原因:堆内存太小,没有足够的内存。解决办法:查看系统是否有使用大内存的代码或者死循环添加JVM的启动参数来限制使用内存:-XX:-UseGCOverheadLimit原创 2017-07-13 10:11:17 · 347 阅读 · 0 评论 -
set去除重复对象
package setproject;public class Person {private String userName;private String password;private String address;public String getUserName() { return userName;}public void setUserName原创 2017-07-04 15:39:28 · 1047 阅读 · 0 评论 -
java 读入写出文件(终极版)
从外部文件读入到内存:public static void main(String[] args) { File file = new File("d:\\caipiao_3.txt"); StringBuffer contents = new StringBuffer(); BufferedReader reader = null;原创 2017-07-06 09:57:54 · 359 阅读 · 0 评论 -
Java汉字按照拼音排序
@Test public void test_sort_pinyin() { Collator cmp = Collator.getInstance(java.util.Locale.CHINA); String[] arr = { "张三", "李四", "王五", "赵六", "JAVA", "123", "$%$#", "哈哈A", "1哈哈A原创 2017-07-05 18:57:46 · 715 阅读 · 1 评论 -
在Java中如何高效的判断数组中是否包含某个元素
如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作。同时,这个问题在Stack Overflow中也是一个非常热门的问题。在投票比较高的几个答案中给出了几种不同的方法,但是他们的时间复杂度也是各不相同的。本文将分析几种常见用法及其时间成本。检查数组是否包含某个值的方法使用List123publi原创 2017-07-06 10:08:14 · 303 阅读 · 0 评论 -
java 中对时间和日期的操作
实际编码中,对时间与日期的操作是非常常见的需求。写了个比较简单的类,来满足部分对时间相关的操作。后续可以根据需求再添加相关功能。包含的方法有: 1.返回当前系统时间 2.返回当前时间戳 3.返回上午下午 4.将Date对象变为字符串 5.将字符串变为Date对象 6.根据字符串返回时间戳 7.根据时间戳返回日期 8.得到前一天的时间戳 9.得到前一天的字原创 2017-08-21 15:30:11 · 271 阅读 · 0 评论 -
并发编程 synchronized
在Java中,每一个对象有且仅有一个同步锁,同步锁是依赖于对象而存在。当调用某个对象的synchronized方法时,就获取了该对象的同步锁。不同线程对同步锁的访问时互斥的。synchronized基本规则:(一)当一个线程访问某个对象的synchronized方法或者代码块时,其他线程对此对象的synchronized方法或者代码块的访问都会被阻塞。(二)当一个线程访问某个对原创 2017-12-21 12:31:15 · 171 阅读 · 0 评论 -
synchronized的使用实例
一、使用场景在负责后台开发的时候,很多时候都是提供接口给前端开发人员去调用,会遇到这样的场景:需要提供一个领奖接口,每个用户名只能领取一次,我们可以将成功领取的用户在数据库用个标记保存起来。如果这个用户再来领取的时候,查询数据库看该用户是否领取过。但是问题来了,假设用户手速很快,极短时间内点了两次领奖按钮(前端没有进行控制,我们也不能依赖前端去控制)。那么可能掉了两次领奖接口,而且有可原创 2017-12-21 12:32:52 · 375 阅读 · 0 评论 -
synchronize的限制
synchronize的限制synchronized是不错,但有一些功能性的限制:它无法中断一个正在等候获得锁的线程;也无法通过投票得到锁,如果不想等下去,也就没法得到锁;同步还要求锁的释放只能在与获得锁所在的堆栈帧相同的堆栈帧中进行,多数情况下,这没问题(而且与异常处理交互得很好),但是,确实存在一些非块结构的锁定更合适的情况。原创 2017-12-21 18:55:03 · 298 阅读 · 0 评论 -
ThreadPoolExecutor使用示例
通常,使用Java开发并发程序时,我们创建Runnable对象,然后创建对应的线程Thead对象来执行它们。Java 5之后,Java并发API提供了Executor框架,主要包括Executor接口,它的子接口ExecutorService,以及实现上述两个接口的ThreadPoolExecutor类。 这种机制使得任务的创建和任务的执行分离,使用executor,开发者只需要实现Run转载 2017-12-18 17:14:03 · 1246 阅读 · 0 评论