Java那些事儿
文章平均质量分 52
Java那些事儿
予她清酒°
我就是我,不一样的烟火。
展开
-
Java 架构师学习路线
Java 架构师学习路线原创 2022-11-15 17:31:15 · 1968 阅读 · 1 评论 -
CentOS 安装Jenkins、构建SpringBoot
安装的方式有多种,下面为大家介绍常用安装方式。一、原创 2019-12-15 19:45:33 · 184 阅读 · 0 评论 -
Java 操作文本文件追加数据,在文件不存在的情况下创建
public class TextFileAppendDataTest { static void readTxtFile(InputStreamReader reader) throws IOException { if (reader == null) { return; } char[] buff = new char[1024]; while (reader.read(buff) != -1) { System.out.println(String.valueOf(bu原创 2021-10-18 14:30:57 · 966 阅读 · 0 评论 -
Java 通过openoffice 将word转为PDF实现在线预览
首先引入jodconverter.jar包直接贴代码/** * 转换文件成pdf * @param fromFileInputStream * @param toFilePath 文件地址 * @param type 文件类型 * @return * @throws IOException */ public static String file2pdf(InputStream fromFileInputStream, String toFilePath,原创 2021-06-24 09:16:09 · 375 阅读 · 0 评论 -
Java 基于nginx实现负载均衡部署
后端项目为test-project.jar ,将后端项目打包三个:test-project-1.jar、test-project-2.jar、test-project-3.jar端口分别:8001、8002、8003后端负载均衡nginx端口:8004前端项目打包test-vue.zip分别部署三个nginx,端口分别为:8005、8006、8007前端负载均衡nginx端口:80开发需要端口,下面我们进行搭建1、部署后端jar项目Linux 创建/root/work目录,将三个jar包分.原创 2021-03-29 14:29:13 · 2126 阅读 · 0 评论 -
聊聊负载均衡有哪几种实现方式?
负载均衡是为了解决什么问题?把用户的请求分发到多太服务器,解决高并发的问题负载均衡的几种实现方式?1、HTTP重定向负载均衡负载均衡过程如上图:1、请求到负载均衡服务器;2、根据均衡算法,返回403,重定向到实际负责计算的服务器IP到浏览器;3、然后浏览器直接请求实际负责计算的服务器;4、最后实际负责计算的服务器相应到客户端浏览器;缺点1、请求经过两次服务器(负载均衡服务器,实际计算服务器),增加了相应时间;2、暴露了实际负载的服务器公网IP到浏览器,安全性比较低;Java实原创 2021-03-24 19:49:28 · 5462 阅读 · 0 评论 -
Java 将List集合根据时间字段排序
给大家做了个案例,让我们直接贴代码import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.Date;import java.util.List;public class Test02 { public static void main(String[] args) { Lis原创 2021-03-21 17:27:04 · 4388 阅读 · 4 评论 -
Java 操作字符串String的一些常用方法
public static void main(String[] args) { String str = "Hello Java"; // 返回字符串中指定字符出现的索引或从指定索引开始(int) System.out.println("indexOf:" + str.indexOf("a", 8)); // 与indexOf()完全一致(int) System.out.println("subSequence:" + str.subSequence(1, 3)); // 从原创 2021-03-21 16:53:09 · 140 阅读 · 3 评论 -
Maven 面试题
一、列出Maven常见的六种依赖范围?compile:编译依赖范围(默认),对于编译、测试、运行三种classpath都有效Test:测试依赖范围, 只对测试classpath有效。典型范例:JunitProvided:已提供的依赖范围,对于编译和测试classpath有效,但在运行时无效。典型范例:servlet-apiRuntime:运行时依赖范围,对于测试和运行classpath有...原创 2020-02-17 15:47:34 · 651 阅读 · 0 评论 -
Java SpringBoot通过Jxl导出Excel
一、引入maven依赖包<dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.12</version></dependency>二、工具类/** * @author * @param objData 导出内容数组 * @pa原创 2020-12-13 21:40:00 · 633 阅读 · 0 评论 -
Java 线程 面试题
并行和并发有什么区别?线程和进程的区别?守护线程是什么?多线程有几种实现方式?说一下 Runnable和 Callable有什么区别?线程有哪些状态?sleep() 和 wait() 有什么区别?notify()和 notifyAll()有什么区别?线程的 run() 和 start() 有什么区别?创建线程池有哪几种方式?线程池都有哪些状态?线程池中 submit() 和...原创 2019-12-01 16:02:17 · 170 阅读 · 0 评论 -
Java 中线程安全与不安全
线程安全:就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。线程不安全:就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据概念:如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的...原创 2020-01-02 23:51:40 · 426 阅读 · 0 评论 -
Java 中终止线程的方法详解
Java中终止线程的方式主要有三种:1、使用stop()已被弃用。原因是:stop()是立即终止,会导致一些数据处理到一部分的时候就被终止,而用户并不知道哪些数据被处理,哪些数据没有被处理,产生了不完整的“残留”数据,不符合完整性,所以被废弃。2、使用volatile标志位下面来看一个例子:首先实现一个Runnable接口,在其中定义volatile标志位,在run()方法中使用标志...原创 2020-01-02 20:05:41 · 492 阅读 · 0 评论 -
JVM 面试题
说一下 JVM 的主要组成部分?及其作用?说一下 JVM 运行时数据区?说一下堆栈的区别?队列和栈是什么?有什么区别?什么是双亲委派模型?说一下类装载的执行过程?怎么判断对象是否可以被回收?Java 中都有哪些引用类型?说一下 JVM 有哪些垃圾回收算法?说一下 JVM 有哪些垃圾回收器?详细介绍一下 CMS 垃圾回收器?新生代垃圾回收器和老生代垃圾回收器都有哪些?有什么区...原创 2019-12-04 17:29:12 · 179 阅读 · 0 评论 -
MyBatis 与 Hibernate 区别详解?
1、概述hibernate和mybatis是当前流行的ORM框架。hibernate对数据库结构提供了较为完整的封装。mybatis主要着力点在于java对象与SQL之间的映射关系。2、Hibernate理解Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将java对象与数据库表建立映射关系,是一个全自动的orm框架。Hibernate...原创 2020-01-06 22:36:20 · 151 阅读 · 0 评论 -
list All elements are null引起的异常
list All elements are null引起的异常解决方法1、移除null元素list.remove(null); //移除第一个nulllist.removeAll(Collections.singleton(null)); //移除所有的null元素2、要是数据库操作可以确保查询出来无空值...原创 2019-11-26 14:27:25 · 1731 阅读 · 2 评论 -
Java 集合 面试题
Java集合都有哪些?Collection 和 Collections 有什么区别?19.Collection 和 Collections 有什么区别?HashMap 和 Hashtable 有什么区别?如何决定使用 HashMap 还是 TreeMap?说一下 HashMap 的实现原理?说一下 HashSet 的实现原理?ArrayList 和 LinkedList 的区别是什...原创 2019-12-01 16:03:19 · 164 阅读 · 0 评论 -
Java 中List分批插入数据库
直接贴代码,smsNameLists为需要拆分的集合 //每批插入数目 int batchCount = 1000; int batchLastIndex = batchCount; List<List<SmsNameList>> shareList = new ArrayList<>(); for (int index = 0; index < smsNameLists.size(); ) { if (batchLastInd原创 2020-05-26 16:24:59 · 3232 阅读 · 0 评论 -
SpringCloud 面试题
什么是 spring cloud?spring cloud 断路器的作用是什么?spring cloud 的核心组件有哪些?原创 2019-12-04 17:30:52 · 342 阅读 · 0 评论 -
Spring Cloud之Eureka服务注册与发现(概念原理篇)
解决什么问题➟阐述微服务以及服务注册发现的部分概念➟阐述Eureka服务注册与发现的部分原理及细节为什么需要服务中心过去,每个应用都是一个CPU,一个主机上的单一系统。然而今天,随着大数据和云计算时代的到来,任何独立的程序都可以运行在多个计算机上。并且随着业务的发展,访问用户量的增加,开发人员或小组的增加,系统会被拆分成多个功能模块。拆分后每个功能模块可以作为一个独立的子系统提供其职责范...原创 2020-01-06 14:36:42 · 551 阅读 · 0 评论 -
Java 之未支付订单30分钟后自动取消
一、生成订单时发起延时30分钟的任务/** * 订单发起延迟任务 * @param order 订单 */ @Override public void startCancelOrderTask(Order order){ if(order.getState().equals(OrderStateEnum.ORDER_STATE_1.getCode())){ OrderSchedule.getInstance().star原创 2020-12-30 16:28:25 · 4186 阅读 · 5 评论 -
Java 对接OSS实现图片上传
一、首页引入maven依赖sdk<!-- 阿里oss --><dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.10.2</version></dependency>二、application.yml配置,配置信息去阿里云控制原创 2020-12-13 23:18:38 · 1045 阅读 · 2 评论 -
Java 中重写equals()方法时为什么要重写hashCode()方法?
一、什么是hashCode(),equals()方法?二、hashCode(),equals()两种方法是什么关系?三、为什么在重写equals方法的时候要重写hashcode的方法?四、怎么重写这两种方法进入正题一、什么是hashCode(),equals()方法?关于equals()方法,经常说的就是比较的是内容(与==比较的地址相对),这么说不完全对–看下面这段代码:学生类: public class Student { private int id; private String原创 2020-11-03 20:50:15 · 103 阅读 · 0 评论 -
Spring 中涉及的设计模式详解
简单工厂(非23种设计模式中的一种)工厂方法单例模式适配器模式装饰器模式代理模式观察者模式策略模式模版方法模式一、简单工厂实现方式:BeanFactory ,Spring中的BeanFactory就是简单工厂模式的实现,根据传输一个唯一的标识来获取Bean对象,但是是否在传入参数后创建还是传入参数前来创建这个对象根据情况来定。实质:有一个工厂类根据传入的参数,动态决定应...原创 2020-02-22 20:24:40 · 420 阅读 · 0 评论 -
Java 中IO流分为哪几种? BIO、NIO、AIO有什么区别?
一、IO 流分为几种Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStream,Reader,Writer。Java中其他多种多样变化的流均是由它们派生出来的字符流和字节流是根据处理数据的不同来区分的。字节流按照8位传输,字节流是最基本的,所有文件的储存是都是字节(byte)的储存,在磁...原创 2020-02-17 11:15:56 · 3622 阅读 · 0 评论 -
Java 中创建对象的四种方式
调用new语句创建对象,也是最常见的一种运用反射手段创建对象调用对象的clone()方法运用序列化手段一、使用new 关键字创建对象使用new 关键字是最简单最常见的方法,通过这种方式可以条用任意构造函数。Object obj = new Object(); //使用new 关键字创建对象、初始化对象数据二、使用反射机制创建对象反射手段创建对象主要包括两种方式,调用Jav...原创 2020-02-17 10:57:04 · 192 阅读 · 0 评论 -
Java 8 新特性
Lambda 表达式方法引用函数式接口默认方法StreamOptional 类Nashorn, JavaScript 引擎新的日期时间 APIBase64一、Lambda 表达式Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中),语法包含参数与方法体,方法体只有一条不用写return;(parameters) -> expression 或 ...原创 2020-02-17 10:35:31 · 80 阅读 · 0 评论 -
Java 中阿拉伯数字转大写
直接贴代码package com.chent.dome.number;/** * 阿拉伯数字转大写 * @author Administrator * */public class Change { public static final char[] DATE = new char[] {'零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌',...原创 2020-01-11 23:24:54 · 250 阅读 · 0 评论 -
Java 编写日历程序
直接贴代码package com.chent.dome.rili;import java.util.Calendar;import java.util.Date;/** * * @author Administrator * */public class CalendarBean { int year = 0, month = 0; public CalendarBe...原创 2020-01-07 18:38:27 · 1157 阅读 · 1 评论 -
深入理解Java面向对象三大特性封装、继承、多态
1、封装封装的定义:首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系;为什么需要封装:封装符合面向对象设计原则的第一条:单一性原则,一个类把自己该做的事情封装起来,而不是暴露给其他类去处理,当内部的逻辑发生变化时,外部调用不用因此而修改,他们只调用开放的接口,而不用去关心内部的实现;举例:public class Huma...原创 2020-01-07 17:56:52 · 166 阅读 · 0 评论 -
String是一个很普通的类
String这个类是我们在写Java代码中用得最多的一个类,没有之一,今天我们就讲讲它,我们打开String这个类的源码:声明了一个char[]数组,变量名value,声明了一个int类型的变量hash(hash的作用我们后续会讲),话不多说,上代码:我们点开构造函数看一下:多年以前,我看到这段代码时我是懵逼的,没错,我现正在准备构造一个String的对象,那original这个对象又...原创 2019-12-24 20:27:57 · 247 阅读 · 0 评论 -
Java字符串那些事儿
我们再来看一段代码:运行一下:没错,一个true,一个是false,(答错的小朋友去面壁去),大家可能在想编译器肯定又调皮了,编译的时候是不是又偷偷加了些什么,迫不及待的打开class文件看一下:除了删掉了空行以外和我的java源文件一致呀,这回可冤枉编译器了,那为什么会导致不同的结果呢?我们都知道,Java代码是运行在JVM里的,那是不是JVM在执行这段代码时给我们做了什么?在JV...原创 2019-12-24 20:11:09 · 180 阅读 · 0 评论 -
Java中的数组
在说说Java里的equals(上)这篇文章里,文末我们提到了String底层是char数组来实现的,好多人当年上学时被二维数组,三维数组吓哭了吧。我们今天来讲讲数组,数组非常的重要,很多常用类,比如String等底层都是用数组来实现的,后续我们会一一讲到,多少人很久没用数组了?是否都在用ArrayList呀?这儿先卖个关子,ArrayList底层也是数组实现的。**所谓数组,是相同数据类型的元...原创 2019-12-24 12:06:45 · 123 阅读 · 0 评论 -
说说Java里的equals
在Java字符串那些事儿一文发表后,朋友给我留言说:比较字符串用equals不就完了呗,干嘛要用"==",吃饱了撑的,能不能来点实际的。其实在文章里我是想表明,Java字符串两种声明方式在堆内存中不同的体现,我们在写代码过程中,为了避免重复的创建对象,尽量使用String s1 =“123” 而不是String s1 = new String(“123”),因为JVM对前者给做了优化。那么,我们......原创 2019-12-24 12:00:36 · 456 阅读 · 0 评论 -
SpringBoot+Mybatis如何在控制台打印sql语句?
本文提供properties 和 yml两种方式- properties:logging.level.×××.mapper=debug- yml:logging:- level: - ×××: - mapper: debug- ##其中×××为你的mapper路径包...原创 2019-12-01 23:17:04 · 766 阅读 · 0 评论