JAVA面试知识总结
文章平均质量分 80
JAVA面试技术总结
young5201314
java之路 如影随行 修炼之心 从始至终
展开
-
Spring事务的基本原理、传播属性、隔离级别以及数据库事务
一、事务的基本要素(ACID)事务是指多个操作单元组成的合集,多个单元操作是整体不可分割的,要么都操作不成功,要么都成功。其必须遵循四个原则(ACID)。原子性(Atomicity):指一个事务要么全部执行,要么不执行,也就是说一个事务不可能只执行了一半就停止了.比如你从取款机取钱,这个事务可以分成两个步骤:1划卡,2出钱.不可能划了卡,而钱却没出来.这两步必须同时完成.要么就不完成。 ...翻译 2018-07-30 11:29:58 · 27108 阅读 · 17 评论 -
kafka和RabbitMQ总结
一、MQ简介 MQ,Message queue,消息队列,就是指保存消息的一个容器。具体的定义这里就不类似于数据库、缓存等,用来保存数据的。当然,与数据库、缓存等产品比较,也有自己一些特点,具体的特点后文会做详细的介绍。现在常用的MQ组件有ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、MetaMQ,当然近年来火热的kafka,从某些场景来说,也是MQ,当然kafk...翻译 2019-05-07 10:00:46 · 5128 阅读 · 1 评论 -
mysql数据库优化总结
一、数据库优化为查询缓存优化你的查询大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。查看查询缓存是否打开:mysql> show variables like '%query_cache%...翻译 2019-05-10 16:24:36 · 476 阅读 · 4 评论 -
java常问面试题总结
一、java基础java基本数据类型是值传递,java大部分引用数据类型是引用传递。这里要特殊考虑String,以及Integer、Double等几个基本类型包装类,它们都是immutable类型,因为没有提供自身修改的函数,每次操作都是新生成一个对象,所以要特殊对待,可以认为是和基本数据类型相似,传值操作。1.1 String StringBuffer 和 StringBuilde...原创 2019-04-30 14:07:10 · 429 阅读 · 0 评论 -
JAVA 线程池常用知识点总结
课程介绍多线程编程https://gitchat.csdn.net/columnTopic/5a25540ce3a13b7fc5936038合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不...原创 2018-10-08 10:11:23 · 441 阅读 · 0 评论 -
java多线程、ThreadLocal与Synchronized区别
一、多线程1、什么是线程?进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程.进程在执行过程中拥有独立的内存单元,而多个线程共享内存资源,减少切换次数,从而效率更高.线程是进程的一个实体,是cpu调度和分派的基本单位,是比程序更小的能独立运行的基本单位.同一进程中的多个线程之间可以并发执行。2、线程和进程有什么区别?线程是进程的子集,一个进程可以有很...原创 2019-04-23 15:17:28 · 440 阅读 · 0 评论 -
Redis缓存知识总结
一、Redis数据类型https://www.cnblogs.com/dijia478/p/8058775.htmlRedis常用的五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。Redis3种特殊(不常用)数据类型(BitMap、Geo和HyperLogLog )1.1 BitMap:是st...原创 2019-04-26 13:43:34 · 411 阅读 · 0 评论 -
JVM内存模型、性能调优和应用性能管理、监控分析总结
一、工具使用下图列出的工具都是程序员必不可少的工具1.1 JVM性能调优1.2 JVM调优工具Jconsole,jProfile,VisualVMJconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。JProfiler:商业软件,需要付费。功能强大。VisualVM:JDK自带,功能强大,与JProfile...原创 2019-03-07 17:15:12 · 485 阅读 · 0 评论 -
分布式锁总结
在许多的场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。一、分布式锁介绍线程锁:大家都不陌生,主要用来给方法、代码块加锁。当某个方法或者代码块使用锁时,那么在同一时刻至多仅有有一个线程在执行该段代码。当有多个线程访问同一对象的加锁方法/代码块时,同一时间只有一个线程在执行,其余线程必须要等待当前线程执行完之后才能执行该代码段。但是,其余线程是可以...翻译 2019-05-05 09:50:52 · 518 阅读 · 0 评论 -
常用设计模式总结
分类(常见的设计模式)1.创建型模式 a)工厂模式 b)抽象工厂模式 c)单例模式 d)建造者模式2.结构型模式 a)适配器模式 b)装饰器模式 c)桥接模式 d)代理模式3.行为型模式 a)命令模式 b)迭代器模式 c)策略模式 d)观察者模式六大原则1、开闭原则 对扩展开放...翻译 2019-04-23 14:15:10 · 585 阅读 · 0 评论 -
线程相关知识点总结 和 并发编程Callable、Future和FutureTask
一、线程的状态线程状态转换线程的五种状态1、新建(初始)状态(New):新创建了一个线程对象。2、就绪(可运行)状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。3、运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。4、阻塞状态(Blocked):阻...转载 2018-07-30 17:05:00 · 258 阅读 · 0 评论 -
Java非常重要的几个类
1、 Java里的阻塞队列 JDK7提供了7个阻塞队列。分别是ArrayBlockingQueue :一个由数组结构组成的有界阻塞队列。 LinkedBlockingQueue :一个由链表结构组成的有界阻塞队列。 PriorityBlockingQueue :一个支持优先级排序的无界阻塞队列。 DelayQueue:一个使用优先级队列实现的无界阻塞队列。 Synchronou...原创 2019-04-25 10:24:41 · 508 阅读 · 0 评论