
java基础
IT社团
这个作者很懒,什么都没留下…
展开
-
聊聊设计模式之单例模式(上)
前言单例模式应该是设计模式中最容易理解也是用得最多的一种模式了,同时也是面试的时候最常被问到的模式。单例模式的作用就是确保在任何情况下都只有一个实例对象,并提供一个全局的访问点,理解起来并不难,但是要实现一个接近“完美”的单例模式却绝非易事。本文将介绍在Java中如何优雅地实现单例模式,并对比各种实现方式的优缺点,希望诸位在看完之后能对单例模式有更深入的理解。一、单例模式的基础单例模式...原创 2018-03-03 16:30:09 · 216 阅读 · 0 评论 -
mysql死锁
知识储备:1、官方文档上说mysql是支持非锁定读的;这个功能是这样实现的,如果事务a 要对行的数据进行更新的话,那么事务a要得到行的x锁,并把这一行之前的样子记录在undo log里面,这样一来如果a 事务rollback 了就可以通过undo log 来恢复到之前的样子;说白了非锁定的一致性读就是读的行的undo log 中的内容,所以这货根本就不用上锁。2、在mysql中事务与锁的关...转载 2019-06-17 23:38:18 · 777 阅读 · 0 评论 -
java面试总结--算法
一、排序1.冒泡排序2.快速排序原创 2019-05-26 21:49:07 · 186 阅读 · 0 评论 -
java面试总结--设计模式及多线程
一.常用的设计模式有哪些单例模式 装饰模式:装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 工厂模式:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 代理模式:比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象...原创 2019-05-26 21:38:02 · 226 阅读 · 0 评论 -
java面试总结--【2】集合
一.collection1.java的集合继承于接口collection,collection继承于接口Iterable,如下图:二、Listlist是继承于collection的接口,主要特点是存取是有序的,并且可存取重复的元素。常用的有两个实现类,ArrayList和LinkedList。1)ArrayListArrayList就是基于数组的一个线性表,只不过数组的长度可以...原创 2019-05-26 09:58:04 · 233 阅读 · 0 评论 -
java面试总结--【1】volatile关键字
一、java基础十大问本文为简单总结,详细qhttps://www.cnblogs.com/dolphin0520/p/3920373.html1、volatile关键字volatile关键字主要用来修饰需要多线程访问共享变量,其主要作用有:1)可见性 java虚拟机的内存模型决定每个线程并不是直接操作主内存,而是都有主内存的副本,即自己的工作内存,这样如果多个线程同时...原创 2019-05-25 17:56:17 · 218 阅读 · 1 评论 -
RPC通信基本原理
一、RPC简介1)RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。它可以有不同的实现方式。如RMI(远程方法调用)、Hessian、Http invoker等。另外,RPC是与语言无关的。2)RPC示意图如上图所示,假设Computer1在调用sayHi()方法,对于Computer1而言调用sayHi...转载 2019-05-19 11:54:37 · 15171 阅读 · 1 评论 -
Java反射机制的适用场景及其利与弊
Java反射机制的适用场景及其利与弊一、反射的适用场景是什么?1)Java的反射机制在做基础框架的时候非常有用,有一句话这么说来着:反射机制是很多Java框架的基石。而一般应用层面很少用,不过这种东西,现在很多开源框架基本都已经给你封装好了,自己基本用不着写。典型的除了Hibernate之外,还有Spring也用到很多反射机制。经典的就是在xml文件或者properties里面写好了配置,然后...转载 2019-05-19 11:41:06 · 169 阅读 · 0 评论 -
深入理解反射
1. Class对象【1】要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运行时识别对象和类的信息,主要有2种方式:一种是传统的RTTI,它假定我们在编译时已经知道了所有的类型信息;另一种是反射机制,它允许我们在运行时发现和使用类的信息。基本解释【0】RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个...原创 2019-05-19 11:11:21 · 254 阅读 · 0 评论 -
聊聊设计模式之单例模式(下)
前言在之前的文章《聊聊设计模式之单例模式(上)》中,笔者为大家介绍了单例模式的几种常见的实现方式,并列举了各种实现方式的优缺点。在该文章的最后,笔者指出传统的“双重校验”实现“懒汉模式”的方式中存在的问题,由于篇幅所限,未能详述,因此本文将对这个问题继续深入探讨,并为大家介绍单例模式更优雅的实现方式。“双重校验”的陷阱 在《聊聊设计模式之单例模式(上)》中,我们讲到因为指令重排序的原因,...原创 2018-03-03 16:36:32 · 181 阅读 · 0 评论 -
java8新特性
1.lamda表达式lamda表达式主要用于替代匿名内部类,如常用的comparator匿名类:public static void main(String[] args) { List<String> list = Lists.newArrayList("a", "c", "b", "d"); Comparator<String>...原创 2019-09-29 11:45:20 · 162 阅读 · 0 评论