java基础
小十木
不积跬步无以至千里,不积小流,无以成江海!(http://ozdp.top/)
展开
-
java 算法小结
Java排序算法前言:1:原地排序算法就是特指空间复杂度是O(1)的排序算法2:有相邻的两个元素大小相等的时候,我们不做交换,相同大小的数据在排序前后不会改变顺序,我们称之为稳定排序算法3:时间复杂度:时间复杂度按n越大算法越复杂来排的话:常数阶O(1)、对数阶O(logn)、线性阶O(n)、线性对数阶O(nlogn)、平方阶O(n²)、立方阶O(n³)、……k次方阶O(n的k次方)、指...原创 2019-11-21 22:35:21 · 109 阅读 · 0 评论 -
java类的加载以及ClassLoader
一:关于类的加载机制,先看几个面试代码-----------------------------------------------1------------------------------------------------class YeYe{ static { System.out.println("YeYe静态代码块"); }}class ...原创 2019-11-20 09:52:45 · 108 阅读 · 0 评论 -
java 之static 、final 的用法
static、 final、 static final 这几个关键字的理解一:static加载:static 在类加载的时候初始化(加载)完成含义:static是静态的,被static修饰说明属于类,不属于类的对象可修饰:static可以修饰 内部类、方法、成员变量、代码块不可修饰:static不可以修饰外部类、局部变量【static属于类的,局部变量属于其方法,并不属于类】注意:...原创 2019-11-19 11:00:11 · 199 阅读 · 0 评论 -
java 位运算
Java 中的位运算:在计算机中负数采用二进制的补码表示,10进制转为二进制得到的是源码,将源码按位取反得到的是反码,反码加1得到补码;例如(1的二进制为 0000 0001 ;他的反码是1111 1110 ;加1得到 1111 1111 这就是-1)二进制的最高位是符号位,0表示正,1表示负。1: ^(亦或运算),针对二进制,相同的为0,不同的为1;代码如下: public sta...原创 2019-11-13 17:17:27 · 248 阅读 · 0 评论 -
java 算术取舍RoundingMode
在使用算数运算的时候,我们经常会涉及到取舍问题,下面介绍一下RoundingMode对应的各种取舍方法一:RoundingMode.HALF_UP 这是我们最熟悉的四舍五入 String a="100"; String b="3"; String c="6"; BigDecimal bigDecimal_a=new BigDeci...原创 2019-06-10 16:43:09 · 7840 阅读 · 0 评论 -
java 枚举引深
枚举的深入用法1、 可以参考package java.util.concurrent; 的 TimeUnit枚举可以实现抽象方法,重写方法public enum TimeUnit { NANOSECONDS { public long toNanos(long var1) { return var1; } ...原创 2019-06-11 11:08:24 · 141 阅读 · 0 评论 -
java Deque与Queue
java Deque与Queue1、二者的关系Deque继承Queuepublic interface Deque<E> extends Queue<E> 2、Queue接口是集合框架Collection的子接口,是一种常见的数据结构,遵循先进先出的原则。基于链表来进行实现,的单向队列。LinkedList接口,实现了Queue,所以LinkedList,...原创 2019-06-11 15:51:17 · 4649 阅读 · 3 评论 -
java concurrent 包下的CountDownLatch方法
CountDownLatch用法1、CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。2、通俗一点的说 就是 使用CountDownLatch 时 几个线程使用同一个CountDownLatch对象 有一...原创 2019-06-11 17:07:48 · 205 阅读 · 0 评论 -
java concurrent 包下的CyclicBarrier方法
CyclicBarrier用法1、字面意思回环栅栏,通过它可以实现让一组线程等待至某个状态之后再全部同时执行。叫做回环是因为当所有等待线程都被释放以后,CyclicBarrier可以被重用。我们暂且把这个状态就叫做barrier,当调用await()方法之后,线程就处于barrier了。2、通俗的讲 就是 使用 CyclicBrarrier 几个线程在执行到需要进行栅栏的地方时 调用 Cyc...原创 2019-06-11 17:53:29 · 257 阅读 · 0 评论 -
java SimpleDateFormat并发问题
SimpleDateFormat 的并发安全问题很多人为了提高性能,会把 private static final SimpleDateFormat simpleDateFormat=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); 作为全局变量来写代码;这样写代码会有并发问题,因为 在调用format 或者parse等方法的时候,该类的对象会用到全...原创 2019-07-20 10:59:35 · 2992 阅读 · 2 评论 -
java 类的加载顺序
类的加载顺序public class ClassA { public static ClassA classa = new ClassA(); static{ System.out.println("ClassA的静态代码块"); } public ClassA(){ System.out.print...原创 2019-07-20 18:05:17 · 134 阅读 · 0 评论 -
java Quartz
Quartz 使用在使用Quartz 前需要明白几个定义,第一就是,每个任务在都需要有调度器去调度该任务对应的触发器,然后才能按照时间表达式触发 ,执行业务代码;一:jobDetail:具体的业务实现二:触发器:触发业务的时间逻辑三:调度器:负责调度触发器执行~~~代码示例public class QuartzTest { public static void main(Str...原创 2019-08-06 18:50:07 · 293 阅读 · 0 评论 -
java ConcurrentHashMap
一: hashMap 和ConcurrentHashMap HashTable之间的区别1:hashMap是线程不安全的2:ConcurrentHashMap和HashTable是线程安全的3:可以接受null(HashMap可以接受为null的键值(key)和值(value),HashTable不可以4:HashMap不能保证随着时间的推移Map中的元素次序是不变的。二:Java ...原创 2019-05-12 22:57:56 · 219 阅读 · 0 评论 -
java synchronized和Lock
synchronized 的使用一:synchronized 和Lock 的区别1、synchronized是java内置关键字,Lock是ava.util.concurrent.locks包下常用的类2、synchronized会自动释放锁,(线程执行完同步代码会释放锁,出现异常会自动释放锁)Lock是java.util.concurrent.locks包下常用的类,Lock需在fina...原创 2019-05-06 22:42:02 · 797 阅读 · 0 评论 -
java 工厂设计模式
简单工厂的模式//动物的抽象类public abstract class Animal { public abstract String getName();}//猫的实现类 class Cat extends Animal{ @Override public String getName() { return "我是一只猫~~"; }}...原创 2019-04-25 17:07:49 · 137 阅读 · 0 评论 -
java 原型模式
原型模式再讲该模式的时候,需要了解以下clone这个方法,以及深拷贝和浅拷贝的概念,我先大概讲以下吧:深拷贝: 拷贝的对象和被拷贝对象的的属性地址不同,因为在堆内存中重新生成了一个对象。浅拷贝: 被拷贝对象和拷贝的对象的属性的引用地址相同,指向的是同一个堆内存中的引用地址。话不多说,直接上代码public class Clones implements Cloneable { ...原创 2019-04-26 13:57:47 · 93 阅读 · 0 评论 -
java 深拷贝和浅拷贝
深拷贝和浅拷贝的问题无非就是拷贝过程中对象的属性是否指向的是同一个对象引用。浅拷贝的特点:一:作为基本数据类型来说,例如int ,double等8类数据类型,拷贝过程中肯定是值的传递,修改另一个对象的数值,不会影响到被拷贝对象的数值。二:String 类型,String 类型虽然是引用类型,但是String类型的数据是存放在常量池中的,也就是无法修改的!当被拷贝的对象进行修改的时候,是把引用...原创 2019-04-26 15:33:31 · 434 阅读 · 0 评论 -
java 静态代理
静态代理的描述代理是一种模式,提供了对目标对象的间接访问方式,即通过代理访问目标对象。如此便于在目标实现的基础上增加额外的功能操作,前拦截,后拦截等静态代理的实现原理代理类通过实现与目标对象相同的接口,并在代理类中维护一个对象,该对象是通过构造器塞入的对象,赋值给该对象,然后实现该接口的方法,并可以根据业务规则,实现前后拦截话不多说,直接上代码public interface ...原创 2019-05-01 17:23:39 · 171 阅读 · 0 评论 -
Java JDK原生动态代理
JDK原生动态代理动态代理是指动态的在内存中构建代理对象话不多说,直接上代码~public interface DataService { public void connection();}public class DataServiceImpl implements DataService{ @Override public void connectio...原创 2019-05-01 18:52:51 · 400 阅读 · 0 评论 -
java CGLIB动态代理
CGLIB动态代理一:CGLIB(Code Generation Library)是一个基于ASM的字节码生成库,它允许我们在运行时对字节码进行修改和动态生成。CGLIB通过继承方式实现代理。二:使用cglib需要引入cglib的jar包,如果你已经有spring-core的jar包,则无需引入,因为spring中包含了cglib。三:cglib代理无需实现接口,通过生成类字节码实现代理,...原创 2019-05-01 22:20:26 · 2445 阅读 · 0 评论 -
java 反射机制
java 反射机制概论一:通过反射机制,在运行状态时,可以获取到一个类的所有的属性和方法(包括私有的方法和属性二:使用反射机制,需要先获取到该类对应的字节码文件对象,也就是.class文件对象获取字节码文件对象方式该类所处阶段Class clazz1 = Class.forName(“类名地址”);源文件阶段Class clazz1 = Animal.class;...原创 2019-05-02 18:06:19 · 118 阅读 · 0 评论 -
java 访问权限修饰符
访问权限修饰符修饰类当前类同包子类其他包public√√√√protected√√√×default√√××private√×××原创 2019-04-23 21:37:52 · 128 阅读 · 0 评论 -
java 基本的数据类型
数据类型长度字节位数byte-128~12718boolean-128~12718short-32768 ~ 32767216char-32768 ~ 32767216int最大整数 2^31-1432long最大整数 2^63-1864float最大整数2^31-1432double最大...原创 2019-04-25 09:56:02 · 91 阅读 · 0 评论 -
java switch case支持的数据类型
支持6中数据类型1:枚举public class switchcase { enum game{ BAS("aa"), SWIM("bb"); private String a; game(String bb) { this.a=bb; } public Stri...原创 2019-04-25 10:19:32 · 1282 阅读 · 0 评论 -
java 单例模式
单例模式的作用:保证全局只存在该类的唯一一个对象,唯一的对象的引用。系统内存中该类只存在一个对象,节省了系统资源,对于一些需要频繁创建销毁的对象,使用单例模式可以提高系统性能。单例类的实现规则:1:构造方法的私有化,不通过构造方法实例化该对象2:通过静态方法的方式获取该类的实例化对象引用,如果存在实例化对象,则直接调用,否则创建唯一的实例化对象一:饿汉式(静态常量)在类加载的...原创 2019-04-25 14:50:01 · 153 阅读 · 0 评论 -
java 建造者模式
java 建造者模式话不多说,直接上代码。这个模式的使用场景很多public class Student { //实体类属性 String name=null; String sex=null; String school=null; int age=-1; //静态内部类 static class StudentBuilder{ ...原创 2019-04-26 11:02:34 · 119 阅读 · 0 评论