02 2019 档案

摘要:请看这位大佬给出的解决方案 https://blog.csdn.net/boling_cavalry/article/details/79342319 阅读全文
posted @ 2019-02-26 10:26 余总出去浪 阅读(878) 评论(0) 推荐(0)
摘要:JDK1.8中的HashMap,HashTable,ConcurrentHashMap有什么区别? 答:HashMap是线程不安全的,底层采用数组+链表+红黑树的结构 HashTable是线程安全的,因为使用了Synchronized锁住了整个table,底层采用了数组+链表 ConcurrentH 阅读全文
posted @ 2019-02-25 21:08 余总出去浪 阅读(826) 评论(0) 推荐(1)
摘要:java异常中的Error和Exception的区别是什么? 答:Error表示系统致命的错误,程序是无法处理这些错误的,即:Error类是指与JVM相关的问题,比如:系统崩溃,虚拟机错误,内存溢出等 Exception是指程序可以捕获并处理的异常,并且程序可能会被恢复。 总结:Error是指程序无 阅读全文
posted @ 2019-02-25 19:52 余总出去浪 阅读(849) 评论(0) 推荐(0)
摘要:如何理解Java的平台无关性? 答:Java源码编译成Java字节码以后,再由不同平台的JVM进行解析,JVM把字节码转换成对应平台具体的机器指令。 阅读全文
posted @ 2019-02-16 22:43 余总出去浪 阅读(729) 评论(0) 推荐(0)
摘要:如何使用Redis实现分布式锁? 答:使用Redis中的setnx指令,如果返回1,则表示加锁成功,那么我们的jvm线程则可以去操作共享资源。如果返回0,则表示此时有别的线程正在占用该共享资源,由于Redis是单线程的,所以同一时间只会有一个线程加锁成功。 那么接下来需要考虑一个问题,如果加锁成功, 阅读全文
posted @ 2019-02-16 21:53 余总出去浪 阅读(266) 评论(0) 推荐(0)
摘要:在Redis里,如何从海量key中查询出某一个固定前缀所有的key? 答:如果该机器是生产环境正在对外提供服务,不建议使用keys * pattern的方法进行查询,可能会使服务器卡顿,而出现事故。 一般生产服务器建议使用Scan命令,例如: SCAN 0 MATCH aaa* COUNT 5 表示 阅读全文
posted @ 2019-02-16 21:31 余总出去浪 阅读(10498) 评论(0) 推荐(0)
摘要:Redis有哪些常用数据类型? 答:String 一般用于存放键值对, Hash 一般用户存放对象, List 类似于双端链表, Set 无序集合, SortedSet 有序集合, 还有比较高级的数据类型,比如用于计数的HyperLogLog,用于存储地理位置的Geo 阅读全文
posted @ 2019-02-16 21:18 余总出去浪 阅读(448) 评论(0) 推荐(0)
摘要:Http和Https的区别有哪些? 答:1、Https比Http更加安全 2、Https需要去CA申请证书,Http不需要 3、Https密文传输,Http明文传输 4、Http默认使用80端口,Https默认使用443端口 阅读全文
posted @ 2019-02-16 21:02 余总出去浪 阅读(279) 评论(0) 推荐(0)
摘要:Https的传输流程是什么? 答:Https在与服务器进行数据交互之前,会与服务器进行一次通信(握手) 1、浏览器将自身支持的加密算法发送给服务端 2、服务端筛选出一套加密算法,以证书的形式发给浏览器 3、浏览器根验证证书的合法性,据拿到的证书里的公钥加密一串消息发给服务端 4、服务端使用私钥解密信 阅读全文
posted @ 2019-02-16 20:59 余总出去浪 阅读(603) 评论(0) 推荐(0)
摘要:Cookie和Session有什么区别? 答:Cookie是存放在客户端(浏览器),Session是保存在服务端。 Cookie的安全性不如Session Session如果过多,会对服务端产生较大的压力,不是特别重要的数据,可以考虑使用Cookie存放 阅读全文
posted @ 2019-02-16 20:36 余总出去浪 阅读(652) 评论(0) 推荐(0)
摘要:HTTP的状态码有哪些? 答:1XX 表示请求已经接受,继续处理 2XX 表示请求已经被成功处理 3XX 表示请求需要进一步的操作 4XX 表示客户端有异常 5XX 表示服务端异常 阅读全文
posted @ 2019-02-16 16:39 余总出去浪 阅读(146) 评论(0) 推荐(0)
摘要:TCP和UDP的区别是什么? 答:1、TCP是需要进行连接的,而UDP不需要 2、UDP无法保证数据是否会丢失,可靠性不如TCP 3、TCP的报文的数据包会被进行排序的,但是UDP是不具备有序性。 4、由于上述特性比较,TCP性能上会比UDP慢一些。UDP更适合在线视频,MMO游戏等 5、TCP元数 阅读全文
posted @ 2019-02-16 16:25 余总出去浪 阅读(177) 评论(0) 推荐(0)
摘要:get请求和post请求有什么区别 答:1、get比post更不安全 2、get传输的数据长度比post小 3、get通过在URL后拼接字符串的形式传递参数,post将参数放在RequestBody中 4、get产生一个TCP数据包;post产生两个TCP数据包。(get会把 httpheader 阅读全文
posted @ 2019-02-16 15:14 余总出去浪 阅读(989) 评论(0) 推荐(0)
摘要:多线程中stop()方法和suspend方法为什么不建议使用? 答:不建议使用这2种方法的原因,是因为使用stop方法会强行终止线程的所有锁定,如果对象处于一种不连贯的状态,那么损坏的对象对其他线程可见,这有可能导致不安全的操作。 suspend方法可能会发生死锁,所以也不建议使用 阅读全文
posted @ 2019-02-15 23:17 余总出去浪 阅读(1391) 评论(0) 推荐(0)
摘要:String s = new String(“abc”); 可能产生几个对象? 答:可能产生1和或者2个对象。 通过new String()方法产生的字符串,先会在常量池去查询有木有abc的对象,如果没有,则会在常量池里开辟一个空间,存放abc,紧接着,将拷贝此对象到堆中产生一个对象。 如果有,则堆 阅读全文
posted @ 2019-02-15 22:25 余总出去浪 阅读(634) 评论(0) 推荐(0)
摘要:答:String是不可变的对象,每次给String赋值的时候,实际上是产生了一个新的String对象,然后指针指向新的内存地址。 StringBuffer是线程安全的,里面方法使用synchronized修饰,在并发下不会出现异常。 StringBuilder是线程不安全的,但是速度更快。 阅读全文
posted @ 2019-02-15 21:38 余总出去浪 阅读(244) 评论(0) 推荐(0)
摘要:数据库事物特性是什么?事务的隔离级别有哪些? 答:数据库事务特性分为ACID A 原子性:在一个事务中有多个操作,要么同时提交成功,要么同时失败回滚 C 一致性:在一个事务执行的前后,必须保证从一个一致状态变成另一个一致状态,举个例子:A和B两者的钱一共400元,A和B来回转账,不论转几次,怎么转最 阅读全文
posted @ 2019-02-15 21:25 余总出去浪 阅读(627) 评论(0) 推荐(0)
摘要:ClassLoader的分类有哪些?加载顺序是什么?类加载的顺序又是什么? 答:ClassLoader分为4种:Jvm类加载器(BootstarpClassLoader),Jvm扩展类加载器(extClassLoader),系统类加载器(SystemClassLoader),自定义类加载器(AppC 阅读全文
posted @ 2019-02-15 13:09 余总出去浪 阅读(1880) 评论(0) 推荐(0)
摘要:ConcurrentHashMap为什么比HashTable性能好? 答:ConcurrentHashMap里使用了Segment分段锁+HashEntry,而HashTable用的是Syncronized锁全部,所有线程竞争一把锁。 Segment分段锁继承ReentrantLock,在并发数高的 阅读全文
posted @ 2019-02-15 12:55 余总出去浪 阅读(1379) 评论(0) 推荐(0)
摘要:线程和进程有什么区别? 答:进程是系统资源分配的最小单位,线程是程序执行的最小单位。 一个进程可以包含多个线程 多个线程可以访问同一进程下的共享变量、静态变量 进程拥有独立的地址空间,包含堆栈等 阅读全文
posted @ 2019-02-15 12:20 余总出去浪 阅读(349) 评论(0) 推荐(0)
摘要:HashMap和HashTable的区别是什么 答:HashMap和HashTable分别继承了不同的类(HashMap继承AbstractMap,HashTable继承Dictionary) HashMap是线程不安全的,HashTable是线程安全的 HashMap的性能比HashTable要高 阅读全文
posted @ 2019-02-14 23:13 余总出去浪 阅读(249) 评论(0) 推荐(0)
摘要:Collection和Collections的区别是什么? 答:Collection是一个接口,定义了一系列对集合操作的标准。 而Collections是针对Collection而开发的一个辅助类,定义了一系列对集合进行操作的静态方法 阅读全文
posted @ 2019-02-14 23:04 余总出去浪 阅读(449) 评论(0) 推荐(0)
摘要:请说一下 ArrayList,Vector, LinkedList的区别 答:ArrayList和Vector使用数组的方式存储数据,LinkedList采用双端链表的方式存储数据。 由于插入和移除数据时ArrayList和Vector需要对数组元素进行移动和索引进行重排序,而LinkedList只 阅读全文
posted @ 2019-02-14 22:59 余总出去浪 阅读(256) 评论(0) 推荐(0)
摘要:Java 中实现多态的机制是什么? 答:重载(overload)和重写(override) 如果一个子类继承了一个父类,子类中拥有和父类相同方法名称,返回值,参数类型的话,就是重写,会执行子类中的方法。 如果一个类中定义了多个同名方法,他们有不同的参数类型或者参数数量,那就叫重载(注:返回值类型可以 阅读全文
posted @ 2019-02-14 22:48 余总出去浪 阅读(4436) 评论(0) 推荐(1)
摘要:JDBC 中的PreparedStatement 相比Statement 的好处? 答:PreparedStatement 经过预编译,性能比Statement更好,而且可以防止sql注入。 阅读全文
posted @ 2019-02-14 22:46 余总出去浪 阅读(916) 评论(0) 推荐(0)
摘要:多线程有几种实现方法?同步有几种实现方法 答:多线程的实现方法有继承Thread类,实现Runnable接口,实现Callable接口。 同步可以使用Synchronized关键字,也可以使用可重入锁ReentrantLock,ThreadLocal同步机制也可以实现同步。 阅读全文
posted @ 2019-02-14 22:44 余总出去浪 阅读(1024) 评论(0) 推荐(0)