Java基础
虾米BaBa
这个作者很懒,什么都没留下…
展开
-
freemarker通过word生成doc模板(xml模板),list的遍历
1、下载freemarker的jar包导入到项目中;2、通过word文档生成doc模板(xml模板):新建word文档,编辑内容(变量使用${propertyName}的方式),然后另存为xml文件,xml模板便完成。另存为xml模板。如果要使用遍历list的话,需要使用到标签:<#list listName as entityName> 存放遍历的内容,遍历的变量值是:${entityName.name}</#list>标签存放的位...原创 2020-07-07 20:06:22 · 3647 阅读 · 8 评论 -
注解的使用
@Id@GeneratedValue这两个注解是在编写PO(持久层对象)的时候,id字段要加的注解。其中@GeneratedValue有四种用法,看源码可以知道:publicenumGenerationType{ TABLE, SEQUENCE, IDENTITY, AUTO } TABLE:使用一个特定的数据库表格来保存主键。 SEQUENCE...原创 2020-03-27 17:45:27 · 159 阅读 · 0 评论 -
Java 快速排序、插入排序、冒泡排序速度比较(图)
Y轴是时间:ms、X轴:随机生成数组的大小。随机数组中数值的最大值MAX为999。最后附上各个排序的代码:快速排序: static void quickSort(int[] arr,int begin,int end) { int temp = 0; int reference = arr[begin]; int beginRe...原创 2019-05-28 11:02:24 · 398 阅读 · 0 评论 -
JAVA基础--线程简单实例(synchronized、wait、sleep、yield的使用)
线程实现方式有两种:1、继承Thread类(少用);2、实现Runnable接口(常用);锁(synchronized,使用:synchronized(要锁的对象obj){ 逻辑正文 }),在逻辑正文中使用obj.wait();来释放锁;使用Thread.sleep(1000);来停止线程,但是不释放锁;使用Thread.yield();使当前线程从执行状态(运行状态)变为可执行态...原创 2019-05-14 17:31:26 · 164 阅读 · 0 评论 -
JAVA基础--Collection各实现类的特点
Collection:单列集合List:有序,元素可以重复ArrayList:用数组实现,有序,查找快(按索引查找),增删慢(牵扯到数组的增容问题);LinkedList:链表数据结构实现,有序,查找慢(查找时需要遍历),增删快;Vector:原理跟ArrayList相同,只是他增加了线程安全,效率略低;Set:无序,元素不可重复HashSet:线程不安全,存取速度快,底层...原创 2019-05-08 14:38:38 · 1152 阅读 · 1 评论 -
JAVA 抽象类、接口的区别
很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。抽象类抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。以JDK中的GenericServlet为例: 1 2...原创 2019-05-05 17:33:32 · 116 阅读 · 0 评论 -
JAVA 操作符--简单汇总
赋值的操作符是:‘’=‘’;例子:int a = 1;算术操作符包括:+(加)、-(减)、*(乘)、/(除)、%(取模操作符);例子:int f = 23%10;//结果:3自动递增和递减:++、--关系操作符:>、>=、<、<=、==、!=;逻辑操作符:&、&&(有短路功能)、||(或)、!(非);按位操作符:&、|、^...原创 2019-04-29 10:09:30 · 120 阅读 · 0 评论