![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
一份甜品
这个作者很懒,什么都没留下…
展开
-
Java基础总结(四)——单例模式、工厂模式和代理模式
单例模式 这种模式涉及到一个单一的类,该类负责创建自己的对象,并保证只有单个的对象被创建。这个类提供了一个访问其唯一对象的方法,可以直接访问,不需要实例化该对象。 单例类只能有一个实例,并由单例类自己创建 单例类必须给其他所有对象提供这个实例 工厂模式 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 简单工厂模式 专门定义一个全能类...原创 2019-08-18 20:22:09 · 664 阅读 · 0 评论 -
Java面经
BeanFactory和FactoryBean的区别? BeanFactory是Spring中IOC容器最核心的接口,遵循了IOC容器中所需的基本接口。例如我们很常见的:ApplicationContext,XmlBeanFactory 等等都使用了BeanFactory这个接口。 FactoryBean是工厂类接口,当你只是想简单的去构造Bean,不希望实现原有大量的方法。它是一个Bean,不...原创 2019-09-14 20:32:22 · 165 阅读 · 0 评论 -
Java基础总结(四)——Spring
Spring:ioc和aop的实现原理,jdk动态代理和cglib的区别; ioc 控制反转也叫依赖注入。 将对象交给容器管理,你只需要在spring配置文件中配置相应的bean(一个可复用的类),以及设置相关的属性,让spring容器来创建实例化对象和管理对象。当容器启动时,spring会把配置好的bean都初始化,当有需要调用这些bean的类(假设类名为A),就把这些已经初始化好的bean分...原创 2019-08-17 21:37:47 · 103 阅读 · 0 评论 -
Java基础总结(三)——线程池
线程池:常用的参数,工作流程 线程池的优点: 降低资源消耗:通过重复利用已创建的线程来降低线程创建和销毁时的消耗。 提高响应速度:当任务到达时,任务可以不用等待线程创建就能立即执行。 提高线程的可管理性。使用线程池可以统一分配、调控和监控。 线程的五种状态 创建。当new了一个线程,但还没有start时,线程处于创建状态。 就绪。当调用了start之后,但线程调度程序还没有设置执行当前线程时...原创 2019-08-16 22:58:48 · 191 阅读 · 0 评论 -
Java基础总结(三)——多线程
多线程:sychronized,Lock,volatile,CAS。每一个的实现原理和常用场景,可重入锁和公平锁的原理,java的锁优化 sychronized解决并发问题 **实现原理:**java自带关键字,被sychronized修饰的方法或者代码块,可保证在同一时刻只有一个线程可以执行这个代码块。同时sychronized还可保证共享变量的内存可见性,可替代volatile。 不可...原创 2019-08-15 19:41:10 · 112 阅读 · 0 评论 -
Java基础总结(二)
list,set,queue List(ArrayList,LinkedList,Vector) List 是一个接口,它继承于Collection的接口。它代表着有序的队列。 ArrayList底层是用数组实现的,可以认为ArrayList是一个可改变大小的数组。随着越来越多的元素被添加到ArrayList中,其规模是动态增加的。查询是O(1),删除插入是O(n),在末尾删除插入是O(1) ...原创 2019-08-15 17:40:52 · 102 阅读 · 0 评论 -
Java基础知识总结(一)——hashmap
hashmap:构成原理,扩容过程,put过程,为什么长度总是2的N次方,是否线程安全 - 构成原理: hashmap是散列桶(数组和链表),它存储的是键值对映射 hashmap采用的数据结构是数组和链表,继承了数组和线性查找和链表的寻址修改 hashmap是非synchronized的,所以它很快 延申知识点:synchronized是Java关键字,当它修饰一个方法或一个代码块时,它保证了同...原创 2019-08-14 20:49:37 · 90 阅读 · 0 评论 -
Java基础总结(六)——JVM
jvm:类加载机制,垃圾回收策略,垃圾回收算法的好处,常见的调优方式。 类加载机制 类加载 类加载有三个步骤:加载、连接、初始化。 **加载:**类加载指的是将class文件读入内存,并为之创建一个java.lang.Class对象。类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在java堆区创建一个java.lang.Class对象,用来封...原创 2019-08-19 21:30:14 · 109 阅读 · 0 评论 -
Java基础总结(五)
装箱和拆箱 Integer i =10; //装箱 int n =i; //拆箱 通俗来说,装箱就是自动将基本数据类型转为包装器类型,拆箱就是自动将包装器类型转为基本数据类型。 装箱过程是调用包装器的valuOf方法实现的,拆箱过程是调用包装器的xxxValue方法(比如Integer.intValue)。 在通过valueOf方法创建Integer对象的时候,如果数值在[-128...原创 2019-08-18 21:29:21 · 117 阅读 · 0 评论 -
顺丰科技java面经
一面: 1.问项目 2.基本数据类型 3.什么时候用包装器类型,什么时候用基本数据类型 4.异常和错误?捕获异常后,什么时候直接处理,什么时候抛出去给上一层处理? 5.抽象类和接口的区别 6.数据库查询速度慢时用什么去检查为什么慢?怎么优化? 7.什么情况下用索引? 8.Linux看过吗? 9.http和https的区别? 10.http和tcp的关系 11.post和get 12.讲讲四次挥手?...原创 2019-09-19 20:57:44 · 1066 阅读 · 0 评论