随笔分类 - java基础知识
摘要:什么是AES? 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),是一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。 那么为什么原来的DES会被取代呢,,原因就在于其使用56位密钥,比较容易被破解。而AES可以使用128、
阅读全文
摘要:代码: import com.alibaba.fastjson.JSON; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import java.io.ByteArrayOutputStream; import java.
阅读全文
摘要:Java数据类型关系图 基本数据类型 从小到大的关系图: 图中从左向右的转换都是隐式转换,无需再代码中进行强制转换 : 运行结果: 从右向左均要进行强制类型转换,才能通过编译。强制转换会丢失精度。这里省略代码。 引用数据类型 String是引用数据类型
阅读全文
摘要:Java中类,属性,方法修饰符 public 公共访问权限,不但在本应用中可以放问,其他应用也可以访问。接口中的方法默认都是public的 protected 被protected修改的:可以被本类,本类的子类(可以在同一个包下也可以不在同一个包下)和与本类在同一个包下的其他类都可以访问本类 默认
阅读全文
摘要:什么抽象方法和抽象类 抽象方法 在类里面定义的没有方法体且用关键字“abstract”来修饰的方法就是抽象方法,所谓的没有方法体指的是在方法声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束。 抽象类 抽象类是相同概念实体的一种抽象,也就是规范对象是什么。Java中用关键字a
阅读全文
摘要:泛型的理解 聊一聊-JAVA 泛型中的通配符 T,E,K,V,? 类,接口的继承和实现的规则 类与类之间只能继承,并且是单继承,可以多级继承 类与接口之间可以实现,一个类可以实现多个接口 接口和接口之间只能继承不能实现,可以多继承也可以多级继承,但是不可以继承类 抽象类和普通类的区别
阅读全文
摘要:基本介绍 ThreadLocal很多地方叫线程本地变量,或者叫线程本地存储。ThreadLocal为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突,实现线程间的数据隔离,至于是如何实现的,下面会在实现原理中介绍。但是我们需要知道,th
阅读全文
摘要:基本介绍 事务是数据一致性最基本的保证,也就是说一个事务中的操作要么都成功,要么都失败,不允许部分成功。我们常说的事务就是jdbc事务,当然Java中还有其他事务,并且在使用jdbc事务有很多注意点,请详细了解“注意点”中的内容。但是这里有个误区,因为我们一般是使用spring的注解@Transac
阅读全文
摘要:forEach的使用 但是forEach并没有返回值,所以有时候在对集合进行循环,使用map()函数更为方便: 老式遍历和新式遍历的区别: java8之前的增强for这种方式的迭代是使用Iterator接口来实现的,调用了它的hasNext和next方法。 这两种方式都属于外部迭代器,它们把如何做和
阅读全文
摘要:String类是一个比较特殊的类,最主要的体现是它有多种创建形式,例如,String a ="abc";Sting a=new("abc");表面上看得到的结果貌似一样,但是其实在java内部的创建机制上是很不同的。例如:关于String str = "abc"的内部工作。Java内部将此语句转化为
阅读全文
摘要:当我们第一次接触堆和栈时很多人都不不明白java中为什么要设置这两个概念,他们都有什么作用?堆和栈有什么区别,各自都有什么特点?还有Java中存在栈这样一个后进先出(Last In First Out)的顺序的数据结构,这就是java.util.Stack。这种情况下,不免让很多人更加费解前面的问题
阅读全文
摘要:Collection集合 特点:长度可变,只能存储引用类型,可以存储不同的类型的元素 list分类 特点:元素有序(存储和取出的顺序一致),元素可以重复。list除了可以用迭代器循环遍历之外,因为其是有序存入的所以可以用for来通过下表获取相应的值。list可以动态增长,查询元素的效率高,但是插入和
阅读全文
摘要:背景 java程序中有时需要我们发起http级别的请求,例如抓数据或者第三方对接时,一般分为两种:一种是只需我们发起请求,还有一种是我们不但要发起请求,还要拿到请求后的数据来进行下一步处理 实现 针对以上两种情况我们来给出简单的实现,对于在技术实现上一般分为两类:通过HttpClient方式和通过流
阅读全文
摘要:背景介绍 在java程序中有时我们需要加载项目中的某些资源文件(如:config.properties之类),以便获取里面的值,这样可以避免某些需要经常修改的数据硬编码入业务程序中 实现方式 实现这种方式需求其实有很多种方式,下面简单介绍三种,各陈利弊: 第一种 弊端: 会发现修改了.propert
阅读全文
摘要:什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的以及动态调用对象的方法的功能称为Java的反射机制。 什么是动态呢?动态是相对于静态而言的,主要区别就是二者创建对象的时间不同,静态是在编译时创建
阅读全文
摘要:map简介 在讲解Map排序之前,我们先来稍微了解下map。map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。其中这四者的区别如下(简单介绍): HashMap 我们最常用的Map,它根据key的HashCode 值来存
阅读全文
摘要:面向对象的三大特性: 封装 继承 多态 面向对象的五大原则: 单一职责原则 开放封闭原则 例如,在对一个软件需要做出修改时,如果能够做到,不修改原有的源代码,就可以完成功能的扩展,那这个软件设计就是符合开闭原则的。 这个原则在我设计类时很有帮助,坚持这个原则就必须酒量考虑接口的封装,抽象机制和多态技
阅读全文