Billy's Blog

欢迎访问我的博客

java的服务是每收到一个请求就新开一个线程来处理吗?tomcat呢?

据说服务有两种: 收到一个请求就处理,这个时候就不能处理新的请求,这种为阻塞收到一个请求就新开一个线程去处理任务,主线程返回,继续处理下一个任务,这种为...

2018-08-23 10:38:34

阅读数:605

评论数:0

Java transient关键字讲解

    Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。...

2018-08-20 17:34:02

阅读数:585

评论数:0

关于迭代器在集合遍历中发生的并发修改异常

原因:迭代器是依赖于集合的,相当于集合的一个副本. 当迭代器操作的时候,如果发现和集合不一样,则抛出异常(并发修改异常) Exception in thread “main” java.util.Con...

2018-08-20 12:51:22

阅读数:582

评论数:0

RandomAccess接口理解

根据javadoc上面的的解释是: RandomAccess 是一个标记接口,用于标明实现该接口的List支持快速随机访问,主要目的是使算法能够在随机和顺序访问的list中表现的更加高效。 我们可以简单...

2018-08-20 12:35:31

阅读数:587

评论数:0

Java Collections.synchronizedMap方法分析

synchronizedMap()返回由指定映射支持的同步(线程安全的)映射。实际上该方法只是一个工具方法, 将传入Map的实现方法加一个同步(synchronized)锁代理,内部还是调用实现的对应方法. //Collections.synchronize...

2018-08-20 12:24:25

阅读数:587

评论数:0

Java中的字符串连接符(+)

在Java中字符串是一个常用的东西,而其一个常用的操作是字符串的拼接,Java对此提供了一种非常直观的操作方式——即 + 操作符。 String str0 = "a"; String str1...

2018-08-20 12:02:54

阅读数:647

评论数:0

HashMap到底是插入链表头部还是尾部

分析源码 分析链表插入的位置,重点是分析HashMap的put方法。 jdk1.6 put方法的代码如下: public V put(K key, V value) { if (key == null) return putForNullKey(value)...

2018-08-15 11:06:48

阅读数:753

评论数:0

RandomAccess接口理解

根据javadoc上面的的解释是: RandomAccess 是一个标记接口,用于标明实现该接口的List支持快速随机访问,主要目的是使算法能够在随机和顺序访问的list中表现的更加高效。 我们可以简单的看下Collections下的binarySearch方法的源码: public...

2018-08-10 10:46:59

阅读数:550

评论数:0

java类中serialversionuid 作用 是什么?

serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相...

2018-08-10 10:28:21

阅读数:145

评论数:0

Java学习指南

博文目录:Java初级篇  优秀资源Java之美[从菜鸟到高手演变]之Java学习方法     &n...

2018-08-02 12:17:00

阅读数:186

评论数:0

java并发编程基础知识

1. 同步和异步 同步和异步通常用来形容一次方法调用。 同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。 异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。而,异步 方法通常会在另外一个线程中,“真实”地执行着。整个过程,不会...

2018-08-02 12:06:24

阅读数:150

评论数:0

关于方法覆盖和属性覆盖的问题?

class A { public static String staticStr = "A's static field"; public String nonStaticStr = "A's nonstatic field&quo...

2018-07-08 10:17:15

阅读数:685

评论数:5

java中字符串编解码的问题

1. Java一律采用Unicode编码方式,每个字符无论中文还是英文字符都占用2个字节。Java的char类型,通常以UTF-16 Big Endian的方式保存一个字符。2. 对于字符串String s = "你好世界";如果源码文件是GBK编码, 操作系统...

2018-04-14 16:22:58

阅读数:132

评论数:0

java中super和this的区别

2018-04-14 15:57:17

阅读数:113

评论数:0

命令行下使用java命令时出现“找不到或无法加载主类”的错误

最近,我在写一个java程序命令行下传参的代码时,控制台始终报给我一个错误。代码很简单,如下:package basics; public class Test { public static void main(String args[]) { // 判断控制台是否传入参数 if (...

2018-04-13 11:31:59

阅读数:177

评论数:0

ArrayList删除元素的技巧

当我们想要删除ArrayList中的元素时,往往会遍历下标直接删除,对于基本数据类型的数组来说,没有什么问题,但对于数组大小可变的集合来讲,有时就会出错。如下:List list = new ArrayList<>(); // 初始化list for...

2018-04-07 17:43:40

阅读数:47

评论数:0

基本数据类型的 == 和 equals 比较

1、基本型和基本型封装型进行“==”运算符的比较,基本型封装型将会自动拆箱变为基本型后再进行比较。2、两个Integer类型进行“==”比较,如果其值在-128至127,那么返回true,否则返回false, 这跟Integer.valueOf()的缓冲对象有关。3、两个基本型的封装型进行equa...

2018-04-06 21:09:39

阅读数:67

评论数:0

比较两个数组元素值时常常犯得一个错误

最近,我在用java进行数组元素比较时,遇到一个问题java.lang.ArrayIndexOutOfBoundsException(数组越界)。代码如下:        public static void main(String[] args) { String s1 = &qu...

2018-03-26 10:55:23

阅读数:29

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭