Java初识
文章平均质量分 81
Java基本知识
Willow
菜鸡一枚 来互啄呀
展开
-
@Builder注解在子类中使用遇到的问题
场景在项目开发中,需要基于某个类进行一些字段的拓展,那么自然而然想到的做法是extends该类。而两个类都需要使用@Builder进行构造。代码如下:@Data@Builder@AllArgsConstructor@NoArgsConstructorpublic class EmployeeDto { private String companyId; private String jobNo; private Integer gender; private In原创 2022-12-26 18:18:14 · 2285 阅读 · 6 评论 -
Java 对实例进行深拷贝操作
本文主要简介浅拷贝和深拷贝的概念以及三种实现深拷贝的方法。原创 2022-10-20 17:31:41 · 1263 阅读 · 0 评论 -
Java 一种通用配置业务设计方式
本文介绍了一种通用配置业务设计方式,语言使用的是Java原创 2022-10-03 10:15:00 · 1398 阅读 · 0 评论 -
新手编码指北(持续更新...)
本文主要记录了一些常用的Java编码中使用到的类或方法,或编码的小技巧,以期望写出更容易,更安全,更优美的代码。本文中的内容是本人工作中总结和记录,不一定适合所有人,也不一定是最优的,欢迎大家共同讨论学习进步。原创 2022-09-29 14:38:47 · 508 阅读 · 0 评论 -
Java 中各种锁的总结
Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。...转载 2022-07-19 13:51:07 · 390 阅读 · 0 评论 -
java 导入导出excel表格
java 导入excel表格业务上有需求上传excel表格并读取内容,本文记录一下该方法首先要清楚表格的格式,这样才能建对应的实体类,例如,表格如下:要明确有3列,每列标题是什么,从第2行开始是正式的数据。引入相应的工具包 <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-annotation</artifactId>原创 2022-04-09 15:06:23 · 4260 阅读 · 1 评论 -
spring@Transactional注解小结
参考:https://www.cnblogs.com/taven/p/5942384.htmlhttps://blog.csdn.net/jiahao1186/article/details/90604813在工作中,很多地方均需要使用事务,保证一旦代码出现错误,可以正确的回滚数据。使用Spring的注解@Transactional可以轻松实现事务控制。本文主要讲述自身使用该注解中的一些问题和总结。场景一模拟使用场景,假如要存储一个公司的信息,entity类是Company,公司有id,公司名称.原创 2022-02-25 18:55:44 · 347 阅读 · 0 评论 -
effective Java 学习笔记(第二章)
整理自《effective Java 中文第3版》使用私有构造方法执行非实例化有时候写一些工具类什么的,里面都是静态方法和静态成员变量,此时根本不需要实例化这个类,就可以正常使用这个类。怎么保证这种类不会被实例化呢?当类中没有显示的构造函数时,会默认生成一个构造方法。我们可以通过显示构造函数私有化的方式,避免这个类被实例化。由于方法是私有的,类外是没办法调用的。public class CalculateUtil { private CalculateUtil(){ th.原创 2022-02-23 19:18:38 · 320 阅读 · 0 评论 -
Java 注解和反射总结
本文整理自狂神视频【狂神说Java】注解和反射原创 2021-12-04 20:57:21 · 812 阅读 · 1 评论 -
Java 下载url图片 二进制图片转MultipartFile文件上传图片
HttpUrlConnection 基础使用下载图片在项目中有需求是将当前上传Amazon S3上的图片在发送一份至其他系统中保存,对方提供的接口是传图片base64和图片名称,上传成功后返回一个图片id。而库中取到的是上传s3后拿到的url。通过url先获取图片二进制,再base64发送给对方。通过url下载图片,获得图片二进制数据代码如下:import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.原创 2021-11-29 15:45:36 · 6825 阅读 · 2 评论 -
Java 函数式接口Supplier和Consumer
参考:Java 8 函数式接口利用 Lambda 表达式实现 Java 中的惰性求值 Java 常用函数式接口之Consumer接口函数式接口函数式接口,可以被隐式转换为lambda表达式。一个函数式接口可以直接使用lambda表达式来表达该接口的一个实现。Java8以前一般采用匿名内部类实现。java.util.function中有很多类,支持Java的函数式编程,比较常用的如:Consumer接口,Supplier接口其实弄明白怎么用一个接口,其他的都是类似的,无非是传参和返回值,或.原创 2021-10-13 16:32:02 · 373 阅读 · 0 评论 -
Java类的加载顺序和JVM双亲委派模型
参考深入理解Java对象的创建过程:类的初始化与实例化深入JVM 双亲委派模型【jvm】通过JDBC为例谈谈双亲委派模型的破坏为什么JVM的类加载要采用双亲委派的加载机制?Java对象创建方式父类代码和子类代码如下://父类public class SuperClass { private String name; private static int age; { name = "hh"; System.out.printl.原创 2021-10-12 16:58:41 · 192 阅读 · 0 评论 -
HashMap相关小结
本文转载自:HashMap在Jdk1.7和1.8中的实现面试必备:HashMap、Hashtable、ConcurrentHashMap的原理与区别一、初窥HashMapHashMap是应用更广泛的哈希表实现,而且大部分情况下,都能在常数时间性能的情况下进行put和get操作。要掌握HashMap,主要从如下几点来把握:jdk1.7中底层是由数组(也有叫做“位桶”的)+链表实现;jdk1.8中底层是由数组+链表/红黑树实现可以存储null键和null值,线程不安全。在HashMap中,nul.转载 2021-09-23 10:46:00 · 183 阅读 · 0 评论 -
IO流:打印流,数据操作流,合并流,压缩流,回退流
本文学习总结自《Java开发实战经典 第2版》打印流主要包括字节打印流PrintStream和字符打印流PrintWriter。主要方法//构造public PrintStream(File file)throws FileNotFoundException//构造public PrintStream(OutputStream out)//根据指定Locale进行格式化输出public PrintStream printf(Locale l,String format,Object...原创 2021-08-20 23:57:09 · 163 阅读 · 0 评论 -
IO流:内存流,管道流,对象流
本文学习总结自《Java开发实战经典 第2版》内存流( 1 ) 字节内存流: ByteArraylnputStream (内存字节输入流) 、ByteArrayOutputStream (内存字节输出流)。( 2 ) 字符内存流: CharArrayReader (内存字符输入流) 、CharArrayWriter (内存字符输出流)。字节内存流与字符内存流唯一区别在于操作的数据类型,字节内存流操作byte,而字符内存流操作char。字节内存流原理内存操作流一般在生成一些临时信息时才会使.原创 2021-08-18 22:44:36 · 197 阅读 · 1 评论 -
IO流:转换流
123原创 2021-08-16 20:17:23 · 328 阅读 · 0 评论 -
IO流:缓冲流
总结自java零基础教学最新入门视频(1-8 File类与IO流)《Java开发实战经典 第二版》Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream缓冲流缓冲流又叫高效流,是对4个FileXXX基本流的增强。原理:在创建缓冲流时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,提高读写效率。字节缓冲流:BufferedInputStream,BufferedOutputStream字符缓冲流:Buff.原创 2021-08-15 17:20:26 · 168 阅读 · 0 评论 -
IO流:字节流和字符流
IO流I:输入,把硬盘中数据读到内存中使用。O:输出,把内存中数据写入硬盘中保存。流:数据。数据又分为字节和字符。因此IO流分为字符流和字节流。Java中IO操作,以文件的操作为例,主要的操作步骤如下:( 1 ) 用File类打开一个文件。( 2 ) 通过字节流或字符流的子类指定输出的位置。( 3 ) 进行读/写操作。( 4 ) 关闭输入/输出流。字节流一切的数据归根结底都是字节,无论是文本、图片还是音视频。无论什么样的流对象,底层传输始终是二进制数据。字节流主要是操 byte类型原创 2021-08-14 16:22:36 · 519 阅读 · 0 评论 -
IO流:File类
本文总结自ava零基础教学最新入门视频(1-8 File类与IO流)File类是在java.io包下,是文件和目录路径的抽象表示,主要用于目录或文件的创建修改删除等。任何操作系统均能使用此类。File主要是围绕file(文件)、directory(文件夹)、path(路径)File的静态成员变量分隔符 public static void main(String[] args) throws InterruptedException { String pathSepara.原创 2021-08-11 23:06:06 · 206 阅读 · 0 评论 -
Java ArrayList用法总结
com.google.common.collect通过Lists的静态方法创建ArrayList,该类还可以创建其他的list,如LinkedList、CopyOnWriteArrayList等List<T> result = Lists.newArrayList();进入到ArrayList.java,作者的注释如下:/** * Resizable-array implementation of the <tt>List</tt> interface. I原创 2021-08-07 19:21:04 · 729 阅读 · 0 评论 -
Orika使用
1.MapperFacade自动注入失败:需要加OrikaConfighttps://www.cnblogs.com/bihanghang/p/10287990.html2.springboot启动后输入url报错404:目录层级不对,目录结构不符合要求,Controller包必须和AppApplication.java同级,因为@SpringBootApplication默认会去扫描同级目录或者子集目录下的所有类。https://blog.csdn.net/weixin_37841366/artic原创 2021-07-31 00:30:05 · 3833 阅读 · 0 评论 -
Java JSON组装和解析
使用com.alibaba.fastjson包来进行Json的组装和解析在组装和解析时,避免使用map去手动拼装,而应该使用类对应一个json对象。不期望的代码: private Map<String, Object> getJsonMap(String userName, String salt, Integer原创 2021-07-28 20:43:52 · 1947 阅读 · 0 评论 -
Java内部类总结
内部类在类内部可以定义另外一个类,比如类Outer中定义一个类Inner,那么Inner称为内部类,Outer称为外部类。内部类可以是private或public。外部类要想访问内部类成员,必须创建对象。class Outer{ class Inner{ void display(){ //todo } }}内部类的优点:可以访问外部类的私有成员。成员内部类局部内部类静态内部类用static声明的内部类则变成了外部类,即静态内部类,它不能访问非static的外部类属性。又原创 2021-06-29 13:53:43 · 132 阅读 · 0 评论 -
Java中@NotNull、@NotBlank和@NotEmpty
javax.validation.constraints包下:@NotNullThe annotated element must not be {@code null}. Accepts any type.对象不能为null@NotBlankThe annotated element must not be {@code null} and must contain at least one non-whitespace character. Accepts {@code CharSequen原创 2021-06-25 19:01:46 · 1341 阅读 · 0 评论 -
Java中各种集合(字符串类)的线程安全性
Java中各种集合(字符串类)的线程安全性!!!转载 2020-09-28 16:22:55 · 504 阅读 · 0 评论 -
JavaWeb学习记录(二)
JavaWeb学习记录(二)Tomcat1.JavaWeb 是指所有通过 java 语言编写可以通过浏览器访问的程序的总称,是基于请求和响应来开发的。请求是指客户端给服务器发送数据,request响应是指服务器给客户端回传数据,response请求和响应是成对出现的。web 资源分类:静态资源:html,css,js,txt,MP4视频,jpg 图片动态资源:jsp 页面,Servlet 程序常用的服务器:Tomcat:轻量级的 Javaweb 容器(服务器)JbossGlassF原创 2020-06-29 08:10:29 · 127 阅读 · 0 评论 -
JavaWeb学习记录(一)
JavaWeb学习记录原创 2020-06-14 20:07:26 · 77 阅读 · 0 评论 -
Java从入门到精通学习笔记
Java从入门到精通学习笔记1.声明常量:final 数据类型 名称 [= 值],当常量用于一个类或成员变量时,必须赋值,否则编译错误。(C 语言中全局变量不初始化值是 0,局部变量不初始化值不确定)2.数值转换:①转换前的数据类型与转换后的类型兼容。②转换后的数据类型的表示范围比转换前的类型大。boolean 类型不能进行类型转换。(C 语言中 char(short)->int(long)->float->double,赋值时,等号右边类型会转到左边类型)3.a = b++ --原创 2020-06-07 23:03:09 · 133 阅读 · 0 评论 -
git命令相关记录
Tomcat 开启和关闭命令开启Tomcat,终端输入sudo sh ./startup.sh关闭Tomcat,终端输入sh ./shutdown.sh原创 2020-06-14 22:35:42 · 75 阅读 · 0 评论