摘要:
1 查看mongodb的版本 2 MongoDB 固定集合 如果用mongodb记录日志,想最多记录10000000条记录,可以采这种capped类型的集合,当数据超过指定条数后新数据会覆盖旧的数据 将已存在的集合转换为固定集合可以使用以下命令: log 集合名, size 集合占用的文件大小(字节 阅读全文
摘要:
在使用springmvc时可能使用@RequestParam注解或者@RequestBody注解,他们的作用是把请求体中的参数取出来,给方法的参数绑定值。 假如方法的参数是自定义类型,就要用到类型转换器,否则就报错。 阅读全文
摘要:
A线程调用B线程,B线程发生异常,A怎么知道B线程发生异常了 阅读全文
摘要:
当应用程序发生异常而没有捕获到,会导致程序挂掉,可以添加一个钩子线程,在jvm退出前执行钩子线程中的代码 阅读全文
摘要:
1.8中的HashMap HashMap 数组+单向链表+红黑树 特点:无序 ,线程不安全 为什么是无序的,往hashmap中添加元素时,是将key hash之后能均匀的分布在hash表中 key和value都可以是null capacity 默认是16 (哈希表的长度) loadFactor 默认 阅读全文
摘要:
开启了9个线程分别取去执行任务,但同时只能有3个线程处于运行中,其余的处于block状态,等某个线程运行完后,再将block状态的线程唤醒去执行,直到所有的任务执行完成,这样做的一个原因是当系统中有大量线程,比如有10000个线程在运行时,CPU在线程之间切换可能导致效率很低,我只让有限的线程比如1 阅读全文
摘要:
public interface MyLock { void lock () throws InterruptedException; void lock(long millis) throws TimeoutException , InterruptedException ,ParametersI 阅读全文
摘要:
线程T1持有锁A,再去获取锁B,线程T2持有锁B,再去获取锁A,这时候线程T1获取不到锁B,线程T2获取不到锁A,就发生死锁了 阅读全文
摘要:
Java 虚拟机会把 finally 语句块作为 subroutine(对于这个 subroutine 不知该如何翻译为好,干脆就不翻译了,免得产生歧义和误解。)直接插入到 try 语句块或者 catch 语句块的控制转移语句之前。但是,还有另外一个不可忽视的因素,那就是在执行 subroutine 阅读全文
摘要:
一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 内存可见性:即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的 内存屏障(memory barrier):如果你的字段是volatile,Java内存模型将在写操作后插入一个写屏障指令, 阅读全文
摘要:
Interrupt ,给线程发送一个中断信号,如给t1线程发送中断信号,t1.interrupt(); isInterrupted() 检测线程的中断信号状态 ,返回true的条件是线程是alive的,线程被中断了。如果线程已经结束了not alive,则返回false wait和sleep和joi 阅读全文
摘要:
Java中的线程可以分为两类,即非守护线程和守护线程。 关于守护线程要注意的是: (1)当jvm中只剩下守护线程时,JVM会退出,所以不要在守护 线程中做比较重要的操作,比如文件读写等 (2)在Daemon线程中产生的新线程也是Daemon的 (3) 守护线程结束只与JVM中是否还有非守护线程右关, 阅读全文
摘要:
接口中方法重写和类中方法重写满足的要求是一致的 方法签名由方法名称和参数列表(方法的参数的顺序和类型)组成 方法签名一样,代表的是同一个方法 1 返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的同类型或者子类 2 访问权限不能比父类中被重写的方法的访问权限更低 3 重写的方法不能抛出 阅读全文
摘要:
内存模型粗略划分为:堆和栈 详细划分为:堆,栈,本地方法栈,方法区,程序计数器 堆: 存放对象实例 栈: 每创建一个线程,都会为他分配内存空间作为他的栈,当方法执行时,会生成对应的栈帧(局部变量表、操作数栈、动态链接、方法出口),每一个方法被调用直至执行完成的过程,就对应着一个栈帧在栈中从入栈到出栈 阅读全文
摘要:
浅拷贝 浅拷贝结果是:新对像中包含的引用对象和原对象中包含的引用对象是同一个东东, 改变其中任何一个所包含的引用对象, 另一个也会受到影响 深拷贝 深拷贝结果是:新对象与原对象是完全独立的, 改变其中任何一个所包含的引用对像, 另一个都不会受到影响 浅拷贝例子 Object中的clone默认是浅拷贝 阅读全文