
java
文章平均质量分 62
晏十一的实验室
吃得咸看得淡
展开
-
JAVA实纪1-this关键字
0-首开博客工作中不间断的会用到this关键字,几乎每次都要查资料,这里整理一下this关键字的常见用法。1、概述表示对“调用方法的那个对象”的引用;哪个对象在调用this所在的函数,this就代表哪个对象;代表被调用函数的参数或对象的引用。 2、功能 java中this关键字的基本用法有三种: * 代表被调用函数的成员变量(用以区分形参); * 在调用本类其他方法时使用; * 构造函数原创 2017-10-11 21:04:28 · 298 阅读 · 0 评论 -
面试题-反射1
1、什么是反射?反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力;主要提供了以下功能:在运行时判断任意一个对象所属的类。在运行时构造任意一个类的对象。在运行时判断任意一个类所具有的成员变量和方法。在运行时调用任意一个对象的方法。2、什么是java序列化?什么情况下需要序列化?java序列化:为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来。有...转载 2019-03-23 22:43:24 · 167 阅读 · 0 评论 -
面试题-对象拷贝
1、如何实现对象克隆?实现Cloneable接口并重写Object类中的clone()方法。实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆。2、深拷贝和浅拷贝浅拷贝只复制了对象的引用地址,两个对象指向同一个内存地址。将对象和值复制过来,两个对象指向不同的内存地址。...转载 2019-03-23 22:47:26 · 221 阅读 · 0 评论 -
面试题-JVM-GC
1、GC基础1.1、GC基础算法标记清除、标记整理、复制、分代。这些算法做的第一件事都是标记。1.2、JVM标记算法JVM标记算法采用了根搜索引擎,根有几种:1、JVM栈(虚拟机栈)的引用;2、静态类、常量的引用;3、本地栈中的引用;4、本地方法的引用;标记分为几个阶段:1、标记直接和根引用的对象;2、标记间接和根引用的对象;3、由于分代算法,被老年代对象所引用的新生代的...原创 2019-04-10 16:17:25 · 200 阅读 · 0 评论 -
设计模式1-工厂模式
1、简单工厂模式首先,创建一个车的抽象基类,里面有抽象方法用来描述public abstract class ICar { public abstract void desc();}其次,创建各大品牌的车型public class BMW { @Override public void desc() { System.output("BMW是世界上最好的品牌。");...原创 2019-04-02 22:47:30 · 88 阅读 · 0 评论 -
面试题-容器2-hashMap原理
1、原创 2019-04-13 18:58:31 · 130 阅读 · 0 评论 -
面试题-JVM2-类加载过程
1、代码运行步骤首先,虚拟机进程首先从classpath中找到Text.class文件,读取这个文件中的二进制数据,然后吧Text类的信息存放到运行时数据区的方法区中。然后,JVM定位到方法区中的Text类的Main方法的字节码,开始执行它的指令。在堆内为一个新的实例分配内存,这个实例持有着2、类的加载顺序父类静态代码块(不包括静态方法);子类静态代码块(不包括静态方法);...原创 2019-04-13 22:48:29 · 237 阅读 · 0 评论 -
面试题-mysql1
1、索引是什么索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构。关系型数据库的索引一般为硬盘级索引。2、B+树2.1、二叉查找树第一个元素为根节点,后面元素比他大的放右边,小的放左边。若后续插入的元素都比根节点大,则会变成一个线性链表的数据结构,与无索引相同。2.2、平衡二叉查找树节点左右叶子节点层级差不超过1。频繁变更的列最好不要建立索引,左旋右旋会造成...原创 2019-04-18 22:28:33 · 124 阅读 · 0 评论 -
leetcode-1
题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]思路拿到题目后...原创 2019-09-29 14:30:10 · 107 阅读 · 0 评论 -
java日常1-集合-记录
1、去除list中的null元素推荐使用方法(JDK中方法)public static <T> List<T> removeNull(List<? extends T> oldList) { oldList.removeAll(Collections.singleton(null)); return (List<T>)oldList;}...原创 2019-10-08 20:45:15 · 120 阅读 · 0 评论 -
lambda-1-lambda简介
lambda用法1、函数式接口函数式接口用@FunctionalInterface注解标注的接口类,lambda必须和函数式接口的抽象函数描述一样的参数类型。@FunctionalInterfaceinterface Converter<F, T> { T convert(F from);}可以使用lambda接口实现Converter接口Converter&...原创 2019-10-09 17:42:05 · 572 阅读 · 0 评论 -
lambda-3-stream
1、stream简单运用 List<String> list = Arrays.asList("hello", "wworld", "aaaa"); // list.forEach(str -> System.out.println(str.toUpperCase())); List<String> resultList...原创 2019-10-09 19:41:30 · 107 阅读 · 0 评论 -
面试题-基础类型1
1.JDK 和 JRE 有什么区别?JDK:Java Development Kit的简称,java开发工具包,提供java开发环境和运行环境。JRE:Java Runtime Environment的简称,java运行环境,为java的运行提供了所需环境。JDK包含了JRE,如果要运行java程序,需要安装JRE。如果要编写java程序,需要安装JDK。2.== 和 equals 的...转载 2019-03-13 16:42:46 · 105 阅读 · 0 评论 -
代码标准1-日志标准
工作单位的日志规范简介原创 2017-11-03 11:11:43 · 325 阅读 · 0 评论 -
集合框架-面试题01
1、基础面试题1、java中常见的集合框架Collection:List:LinkedList;ArrayList;Vector;StackSet:HashSet;TreeSetMapHashTableHashMapWeakHashMap2、ArrayList与LinkedList的异同是否保证线程安全:ArrayList和LinkedList都是不保证线程安...转载 2019-02-17 23:23:33 · 142 阅读 · 0 评论 -
设计模式-单例模式
1、饿汉式(静态变量)public class Singleton { private final static Singleton INSTANCE = new Singleton(); private Singleton() {} public static Singleton getInstance() { return INSTANCE; }}在类加载时完成实例化。避...原创 2019-02-18 21:29:15 · 100 阅读 · 0 评论 -
日常开发问题1
1、BigDecimal想加为0如a.add(b); 后a为0应该为a = a.add(B);原创 2019-03-06 11:54:06 · 84 阅读 · 0 评论 -
排序算法-面试题
1、算法汇总2、算法简介2.1、冒泡排序// 时间复杂度 o(n2)public static void BubbleSort(int[] nums) { int count = nums.length; for (int i = 0; i &lt; count - 1; i++) { for (int j = i + 1; j &lt; count; j ++) { if...原创 2019-03-10 21:53:13 · 120 阅读 · 0 评论 -
面试题-多线程1
1、并行和并发的区别并行是指两个和多个时间在同一个时间发生;并发是指两个或多个事件在同一时间间隔内发生;并行实在不同实体上的多个事件,并发是在同一实体上的多个事件;并发:在一台处理器上同时处理多个任务;并行:在多台处理器上同时处理多个任务。2、线程和进程的区别进程是程序运行和资源分配的基本单位,一个程序至少有一个进程。进程在执行过程中有独立的内存单元,线程是进程的一个实体,是cp...转载 2019-03-21 02:37:10 · 91 阅读 · 0 评论 -
面试题-javaweb1
1、jsp的4种作用域page:代表与一个页面相关的对象和属性;request:与web客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,需要在页面显示的临时数据可以置于此作用域;session:代表与某个用户与服务器简历的一次会话相关的对象和属性。application:代表与整个web应用程序相关的对象和属性,实际上是跨越整个web应用程序,包括多个页面、请求和绘画的一...转载 2019-03-24 18:45:37 · 105 阅读 · 0 评论 -
面试题-异常1
1、throw和throws区别?throw是用来生命一个方法可能抛出的所有异常信息;throws是将异常声明出来不处理,将异常往上传,谁调用谁处理。2、final、finally、finalize之间的区别?final可以修饰类、变量、方法,修饰类表示该类不能被继承;修饰方法表示该方法不能被重写;修饰变量表示该变量是一个常量不能被重新赋值;finally一般作用在try-catc...转载 2019-03-24 19:09:22 · 118 阅读 · 0 评论 -
面试题-网络1
1、http响应码301和302代表什么?区别?301、302都是HTTP状态的编码,都代表着某个URL发生了转移,进行了重定向,浏览器在拿到这个状态码之后回跳到一个新的URL地址,这个地址可以从响应的Location首部中获取。301:代表永久性转移,旧地址A的资源已经被永久的移除了;302:表示旧地址A的资源还在,这个重定向只临时的从旧地址A跳到地址B,搜索引擎会抓取新的内容而保存旧的...转载 2019-03-24 20:09:56 · 165 阅读 · 0 评论 -
面试题-容器1
1、java容器都有哪些?Collection:List、Queue、SetList:Vector、ArrayList、LinkedListQueue:LinkedList、Priority QueueVector:StackSet:HashSet、TreeSetHashSet:LinkHashSetMap:HashMap、TreeMap2、Collection和Collect...转载 2019-03-17 23:16:47 · 239 阅读 · 0 评论 -
面试题-spring事务1
1、spring和事务的关系spring和事务是管理关系。2、spring事务三要素数据源:表示具体的事务性资源,是事务的真正处理者,如MySql。事务管理器:从整体上管理事务,如打开、提交、回滚。事务应用和属性配置:标识符,表明要参与事务的方法;如何参与事务,以及一些相关属性如隔离级别、超时时间。3、spring事务的注解的本质@Transactional这个注解具有两方...转载 2019-03-24 22:46:23 · 318 阅读 · 0 评论 -
lambda-2-function-Predicate
Predicate示例Predicate简介Predicate用于分配lambda表达式。functional interface为功能性接口(函数式接口),有此注解的接口类只有一个对外接口方法。Predicate的接口为test(T t)。当我们将对象传递至这个方法时,它将通过分配的lambda表达式来评估对象。语法介绍:public static void main (Strin...原创 2019-10-09 19:41:44 · 179 阅读 · 0 评论