
java
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的高级程序设计语言。
盖了帽
这个作者很懒,什么都没留下…
展开
-
SpringBoot集成Mybatis
第1步:添加POM依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd原创 2021-03-13 11:40:07 · 359 阅读 · 0 评论 -
Linux配置JDK环境
第一步:解压jdk-8u231-linux-x64.tar.gztar -zxvf jdk-8u231-linux-x64.tar.gz -C /opt/第二步:配置环境变量vi /etc/profile添加内容:export JAVA_HOME=/opt/jdk1.8.0_231export CLASSPATH=.:${JAVA_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH...原创 2021-03-10 17:52:09 · 274 阅读 · 0 评论 -
rabbitmq中confirm和return模式的使用
confirm模式开启confirm模式channel.confirmSelect();这种模式,消息到达交换机时触发,若成功/失败到达交换机时,调用成功/失败回调函数。import com.rabbitmq.client.*;import java.io.IOException;public class Sender { public static void main(String[] args) { ConnectionFactory factory = Rab.原创 2021-01-05 17:17:01 · 997 阅读 · 0 评论 -
rabbitmq保证消息投递成功的对比分析
pom.xml引入rabbitmq所需jar包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ht.原创 2021-01-05 11:55:57 · 167 阅读 · 0 评论 -
使用POI将数据库中的数据导入到Excel中
准备工作:创建表和数据-- ------------------------------ Table structure for sys_role-- ----------------------------DROP TABLE IF EXISTS `sys_role`;CREATE TABLE `sys_role` ( `ID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '角色ID', `NAME` varchar(64)原创 2020-12-25 11:22:22 · 234 阅读 · 0 评论 -
自定义Maven插件入门
新建一个Maven项目并加入必要依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion原创 2020-12-24 10:17:29 · 147 阅读 · 0 评论 -
Java实现文件的下载功能
首先呢,我们先建立一个Springboot项目:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:/原创 2020-12-24 09:39:34 · 399 阅读 · 0 评论 -
Springboot使用SocketJs实现通信
先看一下项目结构:一个简单的SpringBoot项目:POM文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://mave原创 2020-12-11 10:13:26 · 1655 阅读 · 0 评论 -
使用Java程序发送一封QQ邮件
首先,添加POM依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.原创 2020-12-09 15:30:39 · 247 阅读 · 0 评论 -
ByteArrayInputStream和ByteOutputStream简单谈谈
ByteArrayInputStream从构造方法上来看:其实数据来源就是内存中的一个字节数组对象。怎么理解呢?FileInputStream流是从文件中获取数据,ByteArrayInputStream从内存中获取,就这么理解即可!最终,都会产生一个InputStream类型的对象。ByteOutputStream呢? public ByteOutputStream() { this(1024); } public ByteOutputStream(i原创 2020-12-03 11:44:39 · 956 阅读 · 1 评论 -
简谈PushbackInputStream流
先看下继承关系和方法:也是一种装饰流,需要传入一个InputStream类型的对象!先说一下,这个可以回退的流:比如:... D C B A -> | 从 A 开始读取,把A取出来之后,就不想取出来了,再放回去!哈哈,不可思议,unbelievable哈。其实,PushbackInputStream是把A又放回了缓冲区里了。再读的时候,从缓冲区里读,读到的又是A!代码:演示一哈:public class BufferedReaderTestClient { public原创 2020-12-03 11:19:16 · 712 阅读 · 0 评论 -
简单说一下DataInputStream和DataOutputStream这两个流
先看下继承的关系:这两个流,也是装饰流!它们可以直接写入Java的基础数据类型。比如,我们要写入一个long类型的数据,怎么写?long类型是8个字节哦!你看:根据这两个流的API,可以直接写入一个基础的数据类型。这样,这两个流结合起来,就可以完成一系列的数据存取操作。public class BufferedReaderTestClient { public static void main(String[] args) { try (DataOutputStream原创 2020-12-03 10:48:05 · 572 阅读 · 0 评论 -
LineNumberReader的简单介绍与使用
LineNumberReader这个类,继承于BufferedReader类。相比于BufferedReader类,LineNumberReader这个类多了跟踪行号的功能,它定义了setLineNumber(int)和getLineNumber()方法,分别起到设置行号和获取行号的作用。默认情况下,行编号从0开始,所以一开始获取行号,就是0了,每当换行一次,就会+1,这样来记录行号的。比如,我们调用了setLineNumber(int)方法,那么文件指针会跳转到指定的行吗?答案是:不会!因为,它只是起原创 2020-12-03 10:12:27 · 6376 阅读 · 3 评论 -
利用InputStreamReader和OutputStreamWriter进行文件转码
话不多说,代码先行!public class BufferedReaderTestClient1 { public static void main(String[] args) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("Test1"), "GB2312")); BufferedWriter writer = n.原创 2020-12-03 09:27:13 · 248 阅读 · 0 评论 -
聊聊BufferedWriter和BufferedReader的二三事
客官,您有来了哦!:)今儿,聊下关于字符流的增强流的使用!《聊聊BufferedInputStream和BufferedOutputStream的二三事》一文中,提到过快递员送快递的事儿,一个一个送和批量送的效率问题。BufferedWriter和BufferedReader也是同样的道理,默认的缓冲区大小是8kb:defaultCharBufferSize = 8192。先说说 BufferedReader 的API,看图:它有那些方法呢?BufferedReader 是支持markSupp原创 2020-12-02 22:59:56 · 308 阅读 · 0 评论 -
聊聊BufferedInputStream和BufferedOutputStream的二三事
BufferedInputStream是对InputStream的一种包装,属于设计模式中的装饰器模式。同样的,BufferedOutputStream是对OutputStream的一种包装。关联现实世界,相当于:假如使用FileInputStream,就像是一个快递员从仓库取出一件包裹给客户送去,再取第二件包裹给客户送去,如此往复。而BufferedInputStream干了件什么事呢?它先从仓库里把包裹一件一件拿出来以后,先不给客户送过去,只是先用个容器给装起来,等容器装满了或者调用了flush方原创 2020-12-02 16:44:18 · 496 阅读 · 1 评论 -
聊聊FileReader文件输入流的二三事
客官,小板凳坐好,开始啦!FileReader的构造方法和FileInputStream很相似,都是传入文件路径或者文件对象又或者是文件描述符。根据继承图以及方法,来过一下常用的API吧!public String getEncoding() 返回编码名称public class Test { public static void main(String[] args) { try (FileReader fileReader = new FileReader(file原创 2020-12-01 20:56:05 · 288 阅读 · 2 评论 -
聊聊FileOutputStream文件输入流的二三事
客官,小板凳坐好,开始啦!FileOutputStream类继承了OutputStream类,OutputStream类实现了Closeable, Flushable两个接口,在FileInputStream这一章节时候,我们已经介绍过了Closeable接口,在这里就不多言语了。那Flushable这个接口的作用呢?聊聊。/** * @since 1.5 */public interface Flushable { /** * 将缓冲区的数据刷新写入 */原创 2020-12-01 17:42:52 · 346 阅读 · 2 评论 -
聊聊FileInputStream文件输入流的二三事
客官,小板凳坐好,开始啦!要聊FileInputStream对象,不妨先说说AutoCloseable吧,也算是个新成员,它诞生于JDK1.7的时代。/** * @since 1.7 */public interface AutoCloseable { void close() throws Exception;}接口AutoCloseable是JDK1.7版本开始的,它的作用是提供另一种资源关闭的方式。自定义一个测试类,实现AutoCloseable接口:public cla原创 2020-12-01 16:54:56 · 434 阅读 · 0 评论 -
Maven常用的镜像和JDK版本设置(settings.xml)
<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apac原创 2020-11-30 08:53:05 · 310 阅读 · 0 评论 -
梳理Java中关于集合的知识
常见接口简介List 有序、可重复ArrayList 查改速度快,初始大小10,扩容一次是原来的1.5倍。LinkedList 增删速度快,双向链表结构。Vector 线程安全,初始大小10,扩容一次是原来的2倍。其他集合可通过java.util.Collections类的静态方法如synchronizedList、synchronizedSet等实现线程安全。Set 无序、不可重复HashSet 底层就是一个HashMap的实例LinkedHashSet 相比于HashSet其保存.原创 2020-11-20 14:43:25 · 115 阅读 · 1 评论 -
梳理Java中关于反射的知识
如何获取java.lang.Class实例?方式一Class<Person> clazz = Person.class;方式二Person person = new Person("Apollo");Class<? extends Person> clazz = person.getClass();方式三 (常用)Class<?> clazz = Class.forName("fun.gosuncn.Person");方式四ClassLoader原创 2020-11-19 22:28:46 · 123 阅读 · 0 评论 -
梳理Java中关于注解的知识
内置注解@Override检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。@Deprecated标记过时方法。如果使用该方法,会报编译警告。@SuppressWarnings指示编译器去忽略注解中声明的警告。@Retention标识这个注解怎么保存,是只在代码中,还是编入class文件中,或者是在运行时可以通过反射访问。@Documented标记这些注解是否包含在用户文档中。@Target标记这个注解应该是哪种 Jav原创 2020-11-19 15:02:17 · 128 阅读 · 0 评论 -
梳理Java中关于线程的知识
线程的创建 - 继承Thread方式public class PrimeThread extends Thread { @Override public void run() { method(); } public static void method() { for (int i = 0; i < 100; i++) { if (i % 2 == 0) {// 遍历100以内的偶数原创 2020-11-17 22:50:58 · 186 阅读 · 0 评论 -
梳理Java中关于泛型的知识
泛型以下java.util.ArrayList类部分代码:public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments mo原创 2020-11-17 15:54:34 · 163 阅读 · 0 评论