Java面试考点
qq_38530606
这个作者很懒,什么都没留下…
展开
-
java的理解
平台无关性(JVM):一次编译,到处运行 垃圾回收机制(GC):不需要想c++那样需要手动释放堆内存了 语言特性:泛型、反射、Lambdan表达示 面向对象:封装、继承、多态 类库 异常处理 ...原创 2019-05-13 17:51:04 · 80 阅读 · 0 评论 -
位图存储大数据
位图可以存储大数据 存数据的时候,为了节约空间可以采用位图来存 假如要存30000这个数 public class Main { public static void main(String[] args) { int[] arr = new int[1000];//可以存32000个数 //通过将对应的bit位置1的方式存 int num ...原创 2019-09-14 22:31:31 · 819 阅读 · 0 评论 -
HashMap和TreeMap的排序问题
HashMap里面的key-value不能保证插入有序,LinkedListMap可以保证插入有序。 HashMap可以借助Collections.sort()方法来对key或者value进行排序,value重复的时候也不会出错 public class HashMapTest { public static void main(String[] args) { Map&l...原创 2019-09-14 21:11:03 · 525 阅读 · 0 评论 -
BIO,NIO,AIO
BIO同步阻塞 NIO同步非阻塞原创 2019-09-06 10:11:45 · 79 阅读 · 0 评论 -
ThreadLocal类详解
作用:一个ThreadLocal变量,每个调用它的线程都会有该变量的一份本地副本,从而避免了线程安全的问题。 源码详解 ThreadLocalMap是ThreadLocal的静态内部类 Thread类里面有两个threadLocalMap类型的成员变量 创建一个ThreadLocal实例,然后调用它的set方法 不同的线程创建不同的ThreadLocal实例,然后调用该实例的set()方法,...原创 2019-09-02 17:20:17 · 128 阅读 · 0 评论 -
数据库索引
为什么要用索引? 当数据量较大时,避免将全表加载到内存,进行全表的扫描,加快查找的速度和节约内存。这跟查字典的原理是一样的,目录就是索引,假如你查一个汉字,肯定不会一页一页的查询后面的正文吧。。。 B树 B Tree的规则: 一、根节点至少两个孩子 二、每个节点至多m个孩子(m是树的高度) 三、除了根节点和叶子节点外,其他节点至少有ceil(m / 2)个孩子 四、所有的叶子节点在同一层 五、关...原创 2019-08-30 16:28:20 · 92 阅读 · 0 评论 -
Java内存模型(Java Memory Model,JMM)
JMM是一种规范,它的作用是屏蔽硬件和操作系统访问内存的差异性,来实现java程序在各平台下达成一致的并发效果,JMM规范了JVM和计算机内存协调工作:规定了一个线程如何和何时能看到由其他线程修改的共享变量的值,以及在必要时如何同步的去访问共享变量的值。围绕着在并发过程中如何处理可见性、原子性、有序性这三个特性而建立的模型。 原子性:同一时刻只有一个线程对共享变量做操作 Atomic包下的类...原创 2019-08-27 11:31:25 · 81 阅读 · 0 评论 -
常见的单例模式
饿汉模式 /* 饿汉模式,加载字节码文件的时候创建对象 */ public class Sigleton01 { private static Sigleton01 instance = new Sigleton01(); private Sigleton01() {} public static Sigleton01 getInstance() { re...原创 2019-08-26 15:00:47 · 87 阅读 · 0 评论 -
java中的值传递
值传递:如果变量是引用类型,调用函数的变量A将存储的引用地址复制一份给被调用函数的变量B,使得被调函数的变量B也指向这个对象,如果变量是基础数据类型,就是将调用函数的变量C的值复制一份给被调用函数的变量D.被调函数中对B的操作不会影响到A,只会改变的是对象C 应用传递:调用函数中传递过去的是变量的地址,被调函数中对B的操作会影响到A ...原创 2019-08-22 16:01:28 · 71 阅读 · 0 评论 -
引用拷贝 、浅拷贝和深拷贝
引用拷贝:是不会创建新的对象,只是将对象的引用赋值给变量 浅拷贝:是会创建和对象本身大小一样的新对象,如果对象的属性是基本数据类型,直接拷贝值,如果对象的属性是引用类型,采取引用拷贝,不会创建新的对象。 深拷贝:会创建和对象本身一样大小的新对象,也会创建对象引用的新对象,实现两个对象的完全独立。其实就是如果对象的属性是引用类型,引用的对象也要创建新的对象,让属性指向引用对象的新对象。 参考http...原创 2019-08-22 11:36:18 · 144 阅读 · 0 评论 -
Servlet知识
概念:运行在服务器端的小程序 Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。 将来我们自定义一个类,实现Servlet接口,复写方法。 快速入门: 1. 创建JavaEE项目 2. 定义一个类,实现Servlet接口 * public class ServletDemo1 implements Servlet 3. 实现接口中的抽象方法 4....原创 2019-08-12 16:39:06 · 60 阅读 · 0 评论 -
分布式锁
1、面试题 一般实现分布式锁都有哪些方式?使用redis如何设计分布式锁?使用zk来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高? 2、面试官心里分析 其实一般问问题,都是这么问的,先问问你zk,然后其实是要过度的zk关联的一些问题里去,比如分布式锁。因为在分布式系统开发中,分布式锁的使用场景还是很常见的。 3、面试题剖析 (1)redis分布式锁 官方叫做RedLock算法,是re...转载 2019-07-29 15:17:32 · 71 阅读 · 0 评论 -
Redis单线程模型
1)文件事件处理器 redis基于reactor模式开发了网络事件处理器,这个处理器叫做文件事件处理器,file event handler。这个文件事件处理器,是单线程的,redis才叫做单线程的模型,采用IO多路复用机制同时监听多个socket,根据socket上的事件来选择对应的事件处理器来处理这个事件。 如果被监听的socket准备好执行accept、read、write、close等操作...转载 2019-07-29 09:54:11 · 177 阅读 · 0 评论 -
分布式session
session是啥?浏览器有个cookie,在一段时间内这个cookie都存在,然后每次发请求过来都带上一个特殊的jsessionid cookie,就根据这个东西,在服务端可以维护一个对应的session域,里面可以放点儿数据。 一般只要你没关掉浏览器,cookie还在,那么对应的那个session就在,但是cookie没了,session就没了。常见于什么购物车之类的东西,还有登录状态保存之类...转载 2019-07-29 09:26:47 · 64 阅读 · 0 评论 -
工厂模式
工厂模式分类: 简单工厂模式(静态工厂模式) 工厂方法模式 抽象工厂模式 以生产冰淇淋为列子 简单工厂模式 三种口味的冰淇淋用一台机器生产,工厂类需要来做逻辑判断生产哪一种 定义一个冰淇淋接口,一个抽象的口味方法,让苹果口味,香蕉口味和橙汁口味的三个类实现这个接口重写里面的口味方法,定义一个工厂类,在里面有一个方法来生产不同口味的冰淇淋。 缺点,如果在多一种口味的,就需要把机器里面添加逻辑还有在创...原创 2019-09-21 21:03:32 · 104 阅读 · 0 评论