随笔分类 - Java
Java基础,Java高级,JavaWeb,
摘要:1.pom.xml中添加依赖 <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.3.1</version> </dependency> 2.启
阅读全文
摘要:1.步骤 (1)获取数据库连接,执行SQL查询 (2)创建Excel表格,创建sheet页,设置格式 (3)根据库名查询表信息,根据表名查询字段信息 (4)将数据导入到Excel中 2.数据库表信息 这是其中一个库的表信息 点击查看代码 SET foreign_key_checks = 0; --
阅读全文
摘要:Collection接口:单列集合,存储一个一个的对象 List接口:存储有序、可重复的数据,长度可变。-->相当于“动态”数组。 Set接口:存储无序的、不可重复的数据。-->相当于高中讲的“集合”(无序、确定、互斥)。 Map接口:双列集合(映射),存储键值对key-value -->函数:y
阅读全文
摘要:1.概述 集合和数组都是对多个数据进行存储操作的结构,此时的存储,主要指内存层面的存储,不涉及到持久化的存储(存到数据库)。 2.数组 一旦初始化以后,数组的长度就确定了。 一旦定义好后,元素的类型就确定了。 String[] arr; int[] arr1; Object[] arr2; 数组的弊
阅读全文
摘要:1.带时区的日期时间:ZoneId / ZonedDateTime (1)ZoneId public void test1(){ Set<String> zoneIds = ZoneId.getAvailableZoneIds(); //获取所有时区 for (String zoneId : zon
阅读全文
摘要:1.System类的currentTimeMills() 返回当前时间与1970年1月1日0时0分0秒之间,以毫秒为单位的时间差,称为时间戳。 long time = System.currentTimeMills(); System.put.println(time); //16693651261
阅读全文
摘要:1.枚举类 类的对象只有有限个,对象是确定的。 当需要定义一组常量时,强烈建议使用枚举类。 如果枚举类中只有一个对象,则可以作为单例模式的实现方式。 2.定义枚举类 JDK 5.0之前:自定义枚举类 JDK 5.0之后:使用enum关键字定义 (1)自定义枚举类 public class Seaso
阅读全文
摘要:1.注解是什么 这个注解表示该方法是重写的 jdk 5.0 新增的功能。 注解:Annotation,代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,通过使用注解,可以在源文件中嵌入一些补充信息。 框架 = 注解 + 反射机制 + 设计模式。 JavaSE中注解一般用来标记过时的功能,忽
阅读全文
摘要:1.System类 System类代表系统,提供很多有用的方法(标准输入、输出、错误输出等),该类在java.lang包。 System类用final修改,构造器用private修改,无法创建对象,内部成员变量和成员方法都是static的,可以直接通过类名调用。 常用方法 native long c
阅读全文
摘要:说明:正常情况下比较对象只能进行 == 或 !=,不能使用 > 或 < 进行比较,但在开发中需要对多个对象进行排序(比较对象的大小),使用Comparable接口或Comparator接口来实现。 Comparable接口中compareTo方法的比较方式,this对象和参数中的对象比较,小于等于大
阅读全文
摘要:1.日期时间API的迭代 jdk 1.0 Date类 jdk 1.1 Calender类,一定程度上替换Date类。 jdk 1.8 一套新的API 2.前两代存在的问题 可变性:像日期和时间这样的类应该是不可变的。 偏移性:Date中的年份是从1900开始的,而月份都从0开始。 格式化:格式化只对
阅读全文
摘要:1.String、StringBuffer、StringBuilder三者对比 底层都使用char[]数组存储数据。 String:不可变的字符序列。 StringBuffer:可变的字符序列,线程安全的,效率低。 Stringbuilder:可变的字符序列,jdk5.0新增的,线程不安全的,效率高
阅读全文
摘要:1.String类概述 该类声明为final,不可被继承。 实现了Serializable接口,表示字符串是支持序列化的。 实现了Comparable接口,表示String可以比较大小。 内部定义了final char[] value;数组用于存储字符串的数据。 通过字面量的方式创建实例(Strin
阅读全文
摘要:1.实现Callable接口方式 和实现Runnable接口相比 call()可以有返回值。 call()可以抛出异常,被外面的操作捕获,获取异常信息。 Callable是支持泛型的。 实现Callable接口的方式,线程计算0~100内的偶数 实现类,重写call()方法,可以返回值和抛出异常 p
阅读全文
摘要:1.问题 生产者将产品交给店员,而消费者从店员处取走产品,店员一次只能持有固定数量的产品(比如:20),如果生产者试图生产更多的产品,店员会叫生产者停一下。如果店中有空位放产品了再通知生产者继续生产;如果店中没有产品了,店员会告诉消费者等一下,如果店中有产品了再通知消费者来取走产品。 生产者:Pro
阅读全文
摘要:1.线程通信 线程之间的协同工作 使用两个线程打印 1-100。线程1, 线程2 交替打印 class PrintNumber implements Runnable{ private int number=1; private Object obj = new Object(); @Overrid
阅读全文
摘要:1.Blob类型 MySQL中Blob是一个二进制大型对象,可以存储大量数据的容器,能容纳不同大小的数据。 插入Blob类型的数据必须使用PrepareStatement,因为Blob类型的数据无法使用字符串拼接写的。 四种Blob类型除了存储的最大信息量上不同,其他都是相同的。 | 类型 | 大小
阅读全文
摘要:1.对数据库调用的不同方式 java.sql包下有3个接口 Statement:用于执行静态SQL语句。 PreparedStatement:SQL语句被预编译并存储在此对象中。 CallableStatement:用于执行SQL存储过程。 2.使用Statement操作数据库 获取到connect
阅读全文
摘要:1.获取数据库连接的要素 要素一:加载并注册驱动 要素二:URL 要素三:用户名和密码 要素一:加载并注册驱动 (1)导入mysql-connector-java的jar包 (2)加载驱动 调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名,com.mysql
阅读全文
摘要:1.数据持久化 把内存中的数据存储在数据库、文件中,这样断电之后还可以继续使用。 2.数据存储技术 JDBC:直接访问数据库 JDO:Java Data Object技术 第三方O/R工具:如Hibernate、Mybatis JDBC是java访问数据库的基石,JDO、Hibernate、Myba
阅读全文

浙公网安备 33010602011771号