![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
zt_star
一个小码农
展开
-
@NotEmpty、@NotBlank、@NotNull三种注解的区别
@NotEmpty 用在集合类上面加了@NotEmpty的String类、Collection、Map、数组,是不能为null或者长度为0的(String Collection Map的isEmpty()方法)@NotNull:不能为null,但可以为empty,没有Size的约束@NotBlank只用于String,不能为null,而且调用trim()后,长度必须大于0...原创 2020-03-26 14:11:18 · 197 阅读 · 0 评论 -
Mybatis与Hibernate的比较
量级:mybatis更轻量,上手简单, 插件丰富;而Hibernate比较重,精通较难 自定义SQL:mybatis可以自己定义灵活的SQL;Hibernate也可以自定义sql,不过一般不推荐,而只是使用自带的sql语句支持 缓存:mybatis缓存机制较差;Hibernate缓存集制较好可以避免脏读 效率:mybatis需要自己编写sql,效率较慢,不过目前一些插件可以自动生成一些预设的...原创 2020-02-05 23:40:05 · 172 阅读 · 0 评论 -
选择排序
public static void selectionSort(int[] a, int n){ if (n <= 1) { return; } for ( int i = 0; i < n - 1; i++ ) { int index = i; for ( in...原创 2019-12-11 14:22:05 · 123 阅读 · 0 评论 -
插入排序
代码如下public static void insertionSort(int[] a,int n){ if (n <= 1) { return; } for ( int i = 1; i < n; i++ ) { int value = a[i]; int ...原创 2019-12-11 11:36:03 · 132 阅读 · 0 评论 -
冒泡排序
代码如下:public static void bubbleSort(int[] a, int n){ if (n < 1) { return; } for ( int i = 0; i < n; i++ ) { boolean flag = false; for ( int j = 0; j ...原创 2019-12-11 11:12:12 · 88 阅读 · 0 评论 -
java 自动装箱拆箱
除了对变量的初始化和赋值情形,还有一些容易被忽视的地方用到了自动拆箱和装箱1.包装类型和基本类型的大小比较 Integer i = 4;Sysotem.out.println(i<20);//true2.包装类型的==、+、-、*、/的计算Integer num1 = 10;Ingeger num2 = 20;Long num3 = 30;Syste...原创 2019-03-14 15:32:21 · 97 阅读 · 0 评论 -
重载和重写的区别
重载(overload):在同一类中,方法名相同,方法参数的类型、个数和顺序不相同,返回值类型不必相同,权限修饰符不必相同。重写(override):发生在父子类中,子类对从父类继承的方法的实现过程进行重新编写, 返回值和方法签名都不能改变。具体实现过程可以不同。满足子类的特殊需求。java 类重写时的注意要点:子类方法名、参数列表必须和父类对应的方法相同,返回值类型小于等于父类,抛出...原创 2019-03-13 11:41:11 · 104 阅读 · 0 评论 -
java无参构造器的意义
无参构造器的意义Java 程序在执行子类的构造方法之前,如果没有显示的来调用父类的构造方法,则会调用父类中“没有参数的构造方法”。因此,如果父类中只定义了有参数的构造方法,而在子类的构造方法中又没有用 super() 来显示的调用父类中特定的构造方法,则编译时将发生错误,因为 Java 程序在父类中找不到没有参数的构造方法可供执行。...原创 2019-03-13 15:20:45 · 1017 阅读 · 0 评论 -
线程安全的单例模式
双重检查加锁public class Singleton { private volatile static Singleton uniqueSingleton; private Singleton(){ } public Singleton getSingleton(){ if(uniqueSingleton == null){ synchronized (...原创 2019-09-04 09:41:27 · 82 阅读 · 0 评论 -
线性表与数组的对比
1、线性表的长度可以改变,但数组的长度是固定的;2、线性表可以插入元素,数组不能插入元素;3、线性表可以删除元素,数组无法删除元素,数组只能将指定元素赋为null,但各种元素依然存在;4、线性表提供方法来搜索指定元素的位置,数组一般无该方法;5、线性表提供方法来清空所有元素,但数组一般无该方法;...原创 2018-02-23 17:40:55 · 2947 阅读 · 0 评论 -
基于数组的顺序线性表的实现
import java.util.Arrays;public class ArrayList { private int DEFAULT_SIZE = 16; //保存数组长度 private int capacity; //保存顺序线性表的元素 private Object[] elementData; //保存线性表当前元素的个数 private int size = 0;原创 2017-12-26 14:53:39 · 204 阅读 · 0 评论 -
Java生成二维码
1.jquery.qrcode实现方式 (1)首先引用js文件:jquery.min.js和jquery.qrcode.min.js (2)设置一个div (3)加入一段js脚本$('#qrcode').qrcode("生成二维码的内容");2.zxing实现方式//设置二维码参数int width = 300;int height =原创 2017-06-02 14:18:15 · 339 阅读 · 0 评论 -
进程与线程
进程概念 进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并发执行的单位。在Mac、Windows NT等采用微内核结构的操作系统中,进程的功原创 2017-07-24 23:16:02 · 165 阅读 · 0 评论 -
一方库,二方库,三方库
一方库:本项目中的各模块的相互依赖二方库:公司内部自己的依赖库,一般指公司其他项目发布的依赖三方库:其他的各种开源依赖库原创 2017-09-29 17:59:57 · 601 阅读 · 0 评论 -
Maven 中的scope的值
maven依赖关系中Scope的作用 Dependency Scope 在POM 4中,中还引入了,它主要管理依赖的部署。目前可以使用5个值: * compile,缺省值,适用于所有阶段,会随着项目一起发布。 * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。 * runtime,只在运行原创 2017-10-09 14:08:04 · 322 阅读 · 0 评论 -
web.xml中的load-on-startup标签及含义
spring org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:spring-mvc.xml 1 true spring / 一段spring-mvc的配原创 2017-10-11 09:25:08 · 543 阅读 · 0 评论 -
类变量初始化时机
publicclass Price { finalstatic Price INSTACE = new Price(2.8); staticdouble initPrice = 20; doublecurrentPrice; publicPrice(doubled原创 2017-10-31 11:01:14 · 681 阅读 · 0 评论 -
对象的四种引用
一、强引用 这是java程序中最常见的引用方式,程序创建一个对象,并把这个对象赋给一个引用变量,这个引用变量就是强引用。 Java程序可通过强引用来访问来访问实际的对象。强引用是Java编程中广泛使用的引用类型,被强引用所引用的Java对象绝不会被垃圾回收机制回收,即使系统内存非常紧张;即使有些Java对象以后永远都不会被用到,JVM也不会回收被强引用所引用的Java对象原创 2017-12-20 16:38:53 · 526 阅读 · 0 评论 -
Java实现时间和时间戳相互转换
/* * 将时间转换为时间戳 */ public static String dateToStamp(String s) throws ParseException{ String res; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd H原创 2017-12-20 16:42:10 · 3183 阅读 · 0 评论 -
JRE和JDK的区别
做Java开发必须首先要做的就是Java环境的搭建,而Java环境又分为开发环境和运行环境。开发环境需要安装jdk,安装过jdk就不需要再安装jre了JDK(Java Development Kit)指的是Java开发工具集。JDK是整个Java的核心,包括了Java基础类库、Java运行环境(JRE)和Java开发工具。是做Java开发必须要安装的。JRE(Java原创 2017-05-02 14:55:00 · 372 阅读 · 0 评论