JAVA相关
文章平均质量分 68
整理一下我学习JAVA的过程中研究的一些小知识点
BRSblackshoot
这个作者很懒,什么都没留下…
展开
-
注解 笔记
1 注解注解到底是干什么的?_张铎-CSDN博客注解(Annotation)相当于一种标记,在程序中加入注解就等于为程序打上某种标记。标记可以加在包、类,属性、方法,方法的参数以及局部变量上。第一阶段最早在继承父类然后方法重载的时候就接触过注解。@override就是一个标识,说明这是一个重写的方法。实际编译为字节码文件时就没有用了,只是在源码进行标识和判断方法重载的格式是否正确。有一些注解则具备功能性比如@getting 和@webServlet(将servlet配置到web.xm原创 2021-07-25 00:21:23 · 93 阅读 · 0 评论 -
javaweb VUE+ElementUI 分页组件设置 后端部分
2 后端操作后端的准备工作和第一阶段时的分页写法相似,准备好实体类,dao和dao的实现类以及sql代码,service和service的实现类(如果没有什么复杂业务,那么service基本就是直接调用dao即可)以及最后要完成servlet其中差别最大的是sql代码,需要使用拼接来动态调整查询方式2.1 实体类首先是实体类,用于储存分页信息,但是相比第一阶段①“每页显示几条“,不再是固定值,而是由用户决定进而产生变化②实体类需要注解实现get方法,其他的均不用注解实现③实体原创 2021-07-26 09:46:04 · 247 阅读 · 0 评论 -
关于前端 后端 数据库 时间的设置与传递
Java时间日期格式转换Date转String和String转Date - Sharpest - 博客园 (cnblogs.com)java和mysql之间的时间日期类型传递 - GaoAnLee - 博客园 (cnblogs.com)sql在储存时间+日期时 使用datetime 如果后端使用Date(sql或util均可) 那么可以正常储存 但是后端需要传给前端时 需要使用@jsonField转换格式如果后端使用util.Date 前端传值给后端没问题原创 2021-07-25 00:11:06 · 2889 阅读 · 0 评论 -
service包的目录结构
1 service包说明之前开发service时,只有service接口-service实现类 对应着dao接口-dao实现类现在要求拆分service为 service包 接口,纯粹的抽象类,全都是未被实现的抽象方法。 abst包 抽象包,下面的类叫抽象类。 实现service包中的接口,但是只实现对dao层进行直接调用的方法(对数据的增删改查),其他方法保持不变。 由于类里存在未被实现的抽象方法,因此被称原创 2021-07-26 09:48:42 · 1342 阅读 · 0 评论 -
泛型 笔记
2 泛型泛型就这么简单 - SegmentFault 思否在定义属性、方式时,有一些数据无法确定数据类型,只有在使用时,才能知道是什么类型。此时就可以用泛型来代指这些数据类型,泛型可以看做一个占位符,运行时会被替换成实际放置的数据类型。泛型可以用任意的字符来表示,但是通常约定如下,实际情况要根据开发逻辑使用,正确的名字能增强代码可读性。 E 代表entity 说明这里输入的是实体对象,不是String或者Data T原创 2021-07-25 00:12:03 · 124 阅读 · 0 评论 -
反射 笔记
1 反射封装代码的依据就是反射和泛型,理解反射和泛型能帮助自己更好的掌握手动封装代码的方法,减少代码量,而且对于框架的源码阅读也有帮助。之前有接触过反射和泛型的概念,现在再系统说明一次以加强对这两个概念的认识反射和泛型属于java的机制,和web无关 反射通常与泛型一起使用,因为用反射封装的方法需要适用于所有数据类型,此时数据类型是不确定的,需要用泛型“占位” 反射机制最核心的源码如图1.1 获取Class对象反射中Class.forName()和ClassLoader.loa原创 2021-07-25 00:11:46 · 86 阅读 · 0 评论 -
令IDEA控制台打印输出的文本对齐 以及 实现这个功能时个人的体会
String.format处理中文对齐问题_Super 米的博客-CSDN博客在控制台打印输出时,抬头和下面toString循环输出的字符串str之间的对齐可以靠/t而str之间 如果是全英文字符串 那么可以使用format指定最小长度进行对齐但是如果str中存在中文 由于format不认识中文所以会进行忽略 这就造成了字符串之间的差异 最后就导致format达不到想要的效果此时直观表现就是导致后面跟着的其他数据无法对齐要解决这个办法就需要使用工具类,对于存在中文的字符串进行原创 2021-07-24 17:11:49 · 4048 阅读 · 0 评论 -
哈希表的并发修改异常
Java ConcurrentModificationException异常原因和解决方法 - 那些年的代码 - 博客园 (cnblogs.com)Java ConcurrentModificationException 异常分析与解决方案_Android-CSDN博客_concurrentmodificationexception代码如下:异常如下:原因:简单来说就是当键集的个数大于1时 执行修改操作时如果是一个一个删就会出问题解决办法:单线程下 建一个..原创 2021-07-24 17:07:57 · 68 阅读 · 0 评论 -
基于JDBC的原生代码+反射机制,简单模拟DBUtils的实现方式
写在开头的话:现代开发基于框架,mybatis、mybatis-plus才是常用的,DBUtils其实都很少用了,这篇笔记只是我当初刚了解JAVA与数据库的连接时,基于JAVA反射机制的一些钻研,认识也并不算非常准确,仅供参考问题描述如果使用JDBC最原始的方式连接数据库,那么在执行查询的sql语句时,我们需要使用动态数组存放数据,比如下图的students对象,然后循环的将结果集中每一行数据与对象的成员变量对应,从而实现把结果集上的数据都存入对象中的目的但是对比查询全表和查询单个数据的.原创 2021-07-24 16:57:07 · 168 阅读 · 0 评论 -
关于死锁的粗浅理解
要尽量避免死锁的出现Java中synchronized同步的个人见解_porkczr的博客-CSDN博客Java线程同步:synchronized锁住的是代码还是对象_叉叉哥的BLOG-CSDN博客_synchronized锁的是对象还是方法当两个线程都有一把自己的锁时又互相调用对方的锁,此时又同时执行自己的方法 那么就可能互相锁死,就产生了死锁以下是死锁的图解:①首先有两个线程,它们分别有一把锁 合计两把锁②然后它们在自己的run()主体代码中分别又上了一把锁...原创 2021-07-24 16:22:25 · 79 阅读 · 0 评论 -
为什么有了HashMap 还产生了HashTable
有了HashMap 还产生了HashTable 是因为后者能实现线程同步 保证线程安全但是后者基本不用 因为效率很低HashTable的创建:取而代之的是ConcurrentHashMap这个新的类型提出了一个“段”的概念 通过分段来保证线程安全与效率并举ConcurrentHashMap原理 - 莫等、闲 - 博客园 (cnblogs.com)这篇文章很好地说明了取而代之的原因总之 以后在多线程要使用Map时 推荐用ConcurrentHashMapConcu.原创 2021-07-24 16:20:03 · 80 阅读 · 0 评论 -
LinkedList有索引 为什么查找还会慢
LinkedList根据索引查找为什么慢_alexdedream的博客-CSDN博客这是因为该索引非彼索引查看源码可以知道 LinkedList根据索引进行的操作都是,每一次for循环增加一次索引变量,然后返回item,不断循环下找到数据而非真的根据索引直接找到对应元素。假如集合size=100,要取index=40的元素,根据源码,100>>1=50,40<50,需要从前往后循环,循环40遍取出node.item.如果正好取中间那位或者排后面的,则从后往前循环,直原创 2021-07-24 16:17:51 · 1425 阅读 · 1 评论 -
ArrayList的扩容机制和移除机制
ArrayList的底层是数组,因此ArrayList的扩容机制就是依靠Arrays.copyOf()实现的 但是在具体的判断上要说明一下:当ArrayList创建出来时,如果给了初始容量,那么就会有一个初始容量如果没有设置 那么初始容量就默认为10容量设置发生在第一次添加数据前 接着就是根据代码不断向其中添加数据当第10次添加数据时,整个ArrayList就被填满了此时如果继续添加 那么在第11次添加数据前,系统就会自动对ArrayList进行扩容:从代码可以看出新的容量是原创 2021-07-24 16:16:10 · 479 阅读 · 0 评论 -
关于 .java .class 以及机器码
(3条消息) java通过java编译器到class再通过jvm解释器到机器码(jvm开始操作指令集)_浅释的思旭的博客-CSDN博客我们在编译器(IDE)中编写.java文件编译器自动将 .java文件编译成 .class文件 (字节码文件)jvm自动将 .class文件解释成机器码 然后jvm操作指令集执行代码java的编译器分平台 但是编译成的字节码文件不分平台 只看你有没有我要的虚拟机 有的话就能执行所以java具备一次编译,到处运行的特点(3条消息) .cl原创 2021-07-24 16:03:56 · 459 阅读 · 0 评论