![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA开发
mengtuoling111
这个作者很懒,什么都没留下…
展开
-
HashMap和Hashtable
HashMap和Hashtable都具有以下特征两个Key的HashCode一样的话,比较Key的值(通过Key的equals方法) 不可能存在Key相同的Entry原创 2015-11-12 17:15:25 · 284 阅读 · 0 评论 -
java默认构造器constructor
如果类中不声明构造器(不论有参无参)的话,java会默认生成一个无参构造器,可以用getDeclaredConstructor()函数证明这个无参构造器是否存在。 如果类中已经声明了构造器的话,java就不会生成这个默认无参构造器了。 特别注意的是:默认构造器会自动获得与其所作的类一样的访问权限!!!import java.lang.reflect.*;class ComTest{}publ原创 2015-12-07 17:16:14 · 2056 阅读 · 1 评论 -
spring aop
—最近学到sring aop,终于搞清楚aop:after和aop:after-returning的区别。前置通知(Before advice):在某连接点(JoinPoint)之前执行的通知,但这个通知不能阻止连接点前的执行。ApplicationContext中在里面使用元素进行声明。例如,TestAspect中的doBefore方法。 后置通知(After advice):当某连接点退出的时原创 2016-02-17 10:47:51 · 301 阅读 · 0 评论 -
Java并发编程:Lock
一.synchronized的缺陷 synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢? 在上面一篇文章中,我们了解到如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况: 1)获取锁的线程执行完了该代码块,然转载 2016-03-30 10:21:58 · 339 阅读 · 0 评论 -
ThreadPoolExecutor的corePoolSize和maximumPoolSize
按照JDK文档的描述,如果池中的实际线程数小于corePoolSize,无论是否其中有空闲的线程,都会给新的任务产生新的线程 如果池中的线程数>corePoolSize and转载 2016-05-27 10:46:52 · 1095 阅读 · 0 评论 -
Java enum的用法详解
用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl…. 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switchJDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我转载 2016-05-19 14:41:10 · 207 阅读 · 0 评论 -
java类加载顺序
看明白下面程序就知道了。public class Test6 {public static void main(String[] args){new B();new A.C();}}class A{private P p1 = new P("A--p1");static P p3 = new P("A--p3");public A(){System.out.println("A()原创 2016-05-19 18:05:13 · 269 阅读 · 0 评论 -
Thread的中断机制(interrupt)
中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断线程是否应该被中断(中断标示值是否为true)。它并不像stop方法那样会中断一个正在运行的线程。 判断线程是否被中断判断某个线程是否已被发送过中断请求,请使用Thre转载 2016-06-06 14:57:22 · 912 阅读 · 1 评论 -
java线程的状态
NEW 状态是指线程刚创建, 尚未启动RUNNABLE 状态是线程正在正常运行中, 当然可能会有某种耗时计算/IO等待的操作/CPU时间片切换等, 这个状态下发生的等待一般是其他系统资源, 而不是锁, Sleep等 BLOCKED 这个状态下, 是在多个线程有同步操作的场景, 比如正在等待另一个线程的synchronized 块的执行释放, 或者可重入的 synchronized块里别人调用wa原创 2016-06-07 09:48:41 · 328 阅读 · 0 评论 -
Run.getRuntime.exec
前几天刚解了个棘手的bug,就是Run.getRuntime.exec执行asu 命令总是返回1的问题。 但是把这段出错代码放到main函数执行就会返回0,放到我们的应用程序里面老死返回1 尝试过了百度查到的几乎所有的方法,未果。刚开始通过getErrorStream获取到的命令错误信息是username/password invalid。。 然后我们查找是不是传的参数有问题,尝试过将空格加上原创 2016-08-19 16:10:40 · 552 阅读 · 0 评论 -
Java中带包的类的编译与执行
以HelloWorld.java 为例( 假设该文件的位置是/home/HelloWorld.java): [java] view plaincopy package a.b; public class HelloWorld{ public static void main(String[] args){ System.out.println(“Hello World!”); }转载 2015-12-08 16:18:16 · 518 阅读 · 0 评论 -
GitBash 下如何解决javac/java编译运行乱码问题
将这句alias javac=’javac -J-Dfile.encoding=UTF-8’ 复制到文件C:\Program Files\Git\etc\bash.bashrc最后一行,保存 重启gitbash,问题即刻解决~原创 2015-12-01 14:59:44 · 2422 阅读 · 3 评论 -
Vector与ArrayList区别
在写java的时候,基本上都喜欢用arraylist,甚至我都不知道有个vector的存在。查了一下发现又是线程安全问题。。。咋个线程安全天天围着我转呢。。。多得阿里巴巴,让我开始认识java的所谓线程安全问题。the following is from:http://blessed24.javaeye.com/blog/7513361. Vector & ArrayList转载 2015-11-13 14:57:30 · 294 阅读 · 0 评论 -
Servlet学习笔记
一、开发环境:Intellij IDE 14.1.4二、1、遇到问题:maven的本地仓库放到默认地址下面C:\Users\weiwei\.m2的话,会占用C盘很大空间解决方法:可以在Intellij里面setting菜单中配置maven的本地仓库 为其他盘2、遇到问题:页面乱码。解决方法:第一检查 html文件中加page language="java"content原创 2015-09-25 13:40:28 · 299 阅读 · 0 评论 -
Comparable和Comparator
Comparable:Comparable位于包 java.lang下自定义的类要在加入list容器中后能够排序,可以实现Comparable接口Comparable 是一个对象本身就已经支持自比较所需要实现的接口(如 String、Integer 自己就可以完成比较大小操作,已经实现了Comparable接口)一个类实现了Comparable接口则表明这个类的对象之间是可原创 2015-11-17 14:14:35 · 294 阅读 · 0 评论 -
有return的情况下try catch finally的执行顺序(最有说服力的总结)
结论:1、不管有木有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;4、finally转载 2015-11-17 17:01:55 · 371 阅读 · 0 评论 -
Java 异常限制
覆盖一个方法时,只能产生已在方法的基础类版本中定义的异常。这是一个重要的限制,因为它意味着与基 础类协同工作的代码也会自动应用于从基础类衍生的任何对象(当然,这属于基本的OOP概念),其中包括 异常。 下面这个例子演示了强加在异常身上的限制类型(在编译期)://: StormyInning.java // Overridden methods may throw only the //转载 2015-11-24 10:30:41 · 730 阅读 · 0 评论 -
深入理解java中的try-catch-finally
首先讲一下异常的层次结构,就看下图吧: 这么多异常,那我们写程序的时候都要try-catch 捕获么?答:非也那哪些异常需要我们try-catch捕获,哪些不需要try-catch捕获呢? 通常,Java的异常(包括Exception和Error)分为可查的异常(checked exceptions)和不可查的异常(unchecked exceptions)。可查异常(编译器要求必须处置的异常):原创 2015-11-18 10:08:40 · 567 阅读 · 0 评论 -
concurrenthashmap和hashmap
hashmap: 程序使用一个公共锁同步每一个方法,并严格得限制只能有一个线程同时访问容器。 concurrenthashmap: 使用一个更加细化的锁机制,叫分离锁。这个机制允许更深层次的共享访问,任意数量的读线程可以并发访问Map,读者写者也可以并发访问Map,有限数量的写者可以并发访问Map。结果是为并发访问带来了更高的吞吐量,同时几乎没有损失单个线程访问的性能。原创 2015-12-29 09:43:29 · 327 阅读 · 0 评论 -
ftok冲突
最近遇到一个问题,在用户b下创建共享内存失败,跟踪代码发现shmget的errno为17(要创建的这个共享内存已经存在了),可是在该用户下通过ipcs查看确实没有共享内存啊,后来发现,用户a下已经创建的共享内存与用户b要创建的共享内存冲突了,准确的说是key值冲突了,key值是通过ftok函数生成的。上网查询了一个,ftok是根据文件i节点和调用ftok时的id值产生的,而且还给出了例子加以说明,如转载 2016-01-05 14:43:03 · 482 阅读 · 0 评论 -
Externalizable和Serializable
1、Serializable序列化时不会调用默认的构造器,而Externalizable序列化时会调用默认构造器的!!! 2、Serializable:一个对象想要被序列化,那么它的类就要实现 此接口,这个对象的所有属性(包括private属性、包括其引用的对象)都可以被序列化和反序列化来保存、传递。 Externalizable:他是Serializable接口的子类,有时我们不希望序列化那么原创 2015-12-03 09:36:16 · 11821 阅读 · 1 评论 -
ServerSocket 用法详解
本篇文章观点和例子来自 《Java网络编程精解》, 作者为孙卫琴, 出版社为电子工业出版社。 在客户/服务器通信模式中, 服务器端需要创建监听端口的 ServerSocket, ServerSocket 负责接收客户连接请求. 本章首先介绍 ServerSocket 类的各个构造方法, 以及成员的用法, 接着介绍服务器如何用多线程来处理与多个客户的通信任务. 本章提供线程池的一种实现方法. 线程转载 2016-09-05 14:13:07 · 12849 阅读 · 0 评论