
java技术
文章平均质量分 67
Steven_sf
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Docker安装Mysql
1 版本说明Docker版本:19.03.12Mysql版本:5.62 下载镜像docker pull mysql:5.63 启动容器docker run -d -p 3306:3306 --name mymysql -e MYSQL_ROOT_PASSWORD=root mysql:5.6-e MYSQL_ROOT_PASSWORD : 设置root用户的密码4 开启远程访问4.1 进入容器,修改root用户允许远程访问docker exec -it ce4baa24fc76 /原创 2021-03-14 15:56:47 · 274 阅读 · 0 评论 -
Maven项目中集成Slf4j和logback
1 添加依赖<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId></dependency><dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic<原创 2021-03-14 15:50:02 · 1256 阅读 · 0 评论 -
Quartz定时器使用
参考链接:https://www.cnblogs.com/vmask/p/8728691.htmlhttps://www.cnblogs.com/qlqwjy/p/8721963.html添加Maven依赖<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.2</原创 2021-02-02 18:12:00 · 358 阅读 · 0 评论 -
socks5协议详解
socks5协议详解转载 2020-12-24 23:55:07 · 986 阅读 · 0 评论 -
spring中的controller
Q: Spring中的Controller是单例还是多例?A: 默认情况下是单例的,可以通过注解@Scope(“xxx”)来改变。因为是单例的,所以会出现线程安全问题,建议:不要在Controller中定义成员变量。如果必须要定义一个非静态成员变量时候,可以通过注解@Scope(“prototype”),将其设置为多例模式。在Controller中使用ThreadLocal变量。Extendspring bean作用域有以下5个:singleton: 单例模式,当spring创建appl原创 2020-07-27 22:27:13 · 517 阅读 · 2 评论 -
设计模式-建造者(Bulider)模式
1. introduction本文参考https://blog.youkuaiyun.com/eson_15/category_6172272.html。2.what?建造者模式时设计模式中的一种,它可以将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。3.why?1.封装性:使用建造者模式可以使客户端不必知道产品内部组成的细节。2.容易扩展:建造者独立是相互独立的,对系统扩展非常有利。3.便于控制细节风险:由于具体的建造者是独立的,因此可以对建造者过程逐步细化,而不对其他的模块产原创 2020-06-09 00:33:40 · 280 阅读 · 0 评论 -
Provider for class javax.xml.stream.XMLInputFactory cannot be created
本地程序,在eclipse中可以正常启动,但是通过java -jar启动jar包时,报错了:Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.function.support.RouterFunctionMapping]: Factory method 'routerFunctionMapping' threw exc原创 2020-06-04 13:45:02 · 5748 阅读 · 0 评论 -
java输出“☐、☑”等特殊符号
public static void main(String[] args) { int[] code = {0x2610, 0x2611, 0x2612, 0x2613, 0x2614, 0x2615, 0x2616}; for (int i = 0; i < 7; i++) { String s1 = new String(code, i, 1); Syste...原创 2019-12-04 09:04:52 · 3394 阅读 · 0 评论 -
maven打包时,通过命令,根据不同的环境,将不同的依赖包添加到打出的包中
在项目开发中,可能会遇到下面这种场景:同样一个网关组件,一个环境下使用的是zuul,另一个环境下使用的是Gateway,那么在通过maven打包的时候,如何通过maven命令,自动的将上面的依赖区分开,根据参数将不同的依赖添加到包中呢?这里用到了"profiles"这个标签,请看下面的例子:注意:这里没有写网关的依赖,而是写的自己用来测试的依赖。<profiles> &...原创 2019-11-23 16:54:05 · 1587 阅读 · 0 评论 -
java--线程
什么是进程一个应用程序对应一个进程。比如启动一个QQ,就是启动了一个进程。什么是线程线程是进程的子集,一个进程可以启动多个线程,是进程中实际运作的最小单位。并行并行是指多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。并发通过CPU调度算法,不停的切换线程,使用户看起来是在同时进行,但在站在CPU的角度,并不是同时进行的。...原创 2018-10-27 11:49:56 · 302 阅读 · 0 评论 -
spring boot整合redis
第一步:创建一个springboot项目第二步:引入redis依赖&amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;org.springframework.boot&amp;amp;lt;/groupId&amp;amp;gt; &amp;amp;lt;artifactId&amp;amp;g原创 2018-11-12 15:34:21 · 237 阅读 · 3 评论 -
java解析word批注
最近有一个需求,通过java读取word文档,获取里面的批注内容,批注的作者以及被批注的内容,被批注内容所在的章节数和页码数。poi提供的API都是英文的,而且针对word的操作并不是很完善,所以就自己总结了一下。首先,这里使用的是XWPFDocument对象来读取word文档的,XWPFDocument对象提供了一个方法,可以直接获取word文档里所有的批注:public X...原创 2018-08-30 14:42:12 · 3422 阅读 · 11 评论 -
JDBC事务
1、 概念事务指的是逻辑上的一组操作,这组操作要么全部成功,要么全部失败!2、特性原子性(Atomicity):是指事务中的操作要么全部成功,要么全部失败。一致性(Consistency):意思是事务必须使数据库从一个一致性状态变换到另外一个一致性状态。例:A向B转账,转账之前,两个人的钱总和是2000,A向B转账之后,无论怎么转,两个人的钱总和还是2000,这就是所谓的事务的...原创 2018-08-10 14:28:36 · 256 阅读 · 0 评论 -
【设计模式】策略模式
定义定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。【维基百科】起源在一个系统中,针对同一种行为,需要针对不同的情况有各自具体的实现,这时,如果不采用一种比较好的设计模式的话,会出现许多if…else(if)语句,为了避免这种情况的发生,于是就有了设计模式。类图说明:Stategy 策略,也就是上文提到的行为Concret...原创 2019-04-25 00:33:23 · 233 阅读 · 0 评论 -
HashSet和TreeSet集合学习总结
HashSet: HashSet顾名思义,是与hash值有密切关联的一种集合。特点是元素唯一,无序。HashSet是对HashMap的一层封装,HashMap它可以看成是一个一维数组,而一维数组里的元素又是一个单链表,类似下图所示: HashMap是如何保证元素唯一的呢?是根据元素的hash值以及调用equals()方法实现的。HashMap在添加元素时,首先会先计算元素的...原创 2018-05-16 14:14:53 · 1553 阅读 · 0 评论 -
java创建对象的五种方法
首先定义一个Bean对象,我这里定义了3个,因为后面两个分别为了测试clone和反序列化单独定义的。public class Bean { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; }}...原创 2018-12-27 11:40:20 · 488 阅读 · 0 评论 -
File转MultipartFile代码
/** * * @Title: file2MultpartFile * @Description: file2MultpartFile * @param path * @return * @throws IOException * @return: MultipartFile */ private static MultipartFile file2Mult...原创 2018-12-17 14:31:20 · 855 阅读 · 4 评论 -
Java内存区域与内存溢出异常
序言Java与C++之间有一堵由内存动态分配和垃圾手机技术所围成的“高墙”,墙外面的人想进去,墙里面的人想出来。一、运行时数据区域Java程序在执行时,是由jvm来控制的。Java虚拟机在执行Java程序时,会把它所管理的内存划分为若干个不同的数据区域。主要按照几个区域进行划分:二、程序计数器程序计数器是一块较小的内存空间,主要记录线程当前执行到了哪一步。由于多线程是通过轮流切换线程来...原创 2019-03-05 18:52:02 · 338 阅读 · 2 评论 -
垃圾收集器
首先需要说明一点的是,本章虽然介绍了几种垃圾收集器,但并不是为了说明哪个收集器好,哪个收集器不好的,因为目前为止还没有哪个收集器可以完全取代其它的收集器的,如果有的话,HotSpot虚拟机也不会实现那么多不同的收集器了。1 Serial收集器Serial是最基本、发展历史最悠久的收集器,是一个单线程的收集器,不仅仅体现在它只会使用一个CPU或者一条线程去回收垃圾,而且当它在回收垃圾的时候,其它...原创 2019-03-08 23:01:28 · 337 阅读 · 0 评论 -
HotSpot虚拟机中的对象
1 对象的创建这里的对象仅限于普通的java对象,不包括数组和Class对象。一般来说,创建对象通常仅仅通过一个new关键字。当虚拟机遇到一条new的指令时,首先会去检查这个指令所带的参数能不能在常量池中定位到某个类的符号引用,并且检查这个类是否已经加载完毕,当类加载检查通过后,就开始为对象分配内存了,就是上节所提到的,会在java堆中划分出一块确定大小的内存。在分配内存的时候,主要考虑以下两...转载 2019-03-06 22:25:09 · 466 阅读 · 0 评论 -
JVM垃圾回收算法
1 概述前面已经介绍过了,jvm运行时的数据区域包括程序计数器、虚拟机栈、本地方法栈、堆和方法区,其中程序计数器、虚拟机栈和本地方法栈是线程私有的,当方法结束或者线程销毁时,这部分的内存就会被回收了,不用过多的考虑。所以,本章所讲的主要是堆和方法区的内存分配与回收问题。2 对象“死”了吗我们知道,堆里面几乎存放了java中所有的对象实例,垃圾收集器(GC)在对这部分内存进行回收时,首先需要判...原创 2019-03-07 21:41:14 · 294 阅读 · 0 评论 -
@NotNull 、@NotBlank、@NotEmpty三者的区别
@NotNull 、@NotBlank、@NotEmpty三者的区别原创 2017-08-02 11:26:33 · 2846 阅读 · 0 评论 -
HttpServletResponse实现文件的下载
private void downloadFileByOutputStream(HttpServletResponse response)32 throws FileNotFoundException, IOException {33 //1.获取要下载的文件的绝对路径34 String realPath = this.getServl...原创 2018-05-25 15:19:49 · 929 阅读 · 0 评论 -
java poi设置单元格样式
XSSFCellStyle style = wb.createCellStyle();// 基础样式// 设置自动换行style.setWrapText(true);// 水平对齐方式style.setAlignment(HorizontalAlignment.CENTER);// 垂直对齐方式style.setVerticalAlignment(VerticalAlignment....原创 2018-03-21 09:54:44 · 6571 阅读 · 3 评论 -
关于java上传文件到tomcat后,重新部署项目,文件消失的解决方法
关于java上传文件到tomcat后,重新部署项目,文件消失的解决方法原创 2017-10-19 13:18:09 · 11637 阅读 · 5 评论 -
WebSocket——本人的简单理解
什么是webSocket?原创 2017-10-10 15:33:25 · 360 阅读 · 0 评论 -
@RestController和@Controller的区别
@Controller和@RestController的区别原创 2017-10-10 09:55:22 · 2823 阅读 · 0 评论 -
java8之接口的默认方法和lambda表达式小结(一)
java8之小小结(一)原创 2017-09-27 10:51:04 · 955 阅读 · 0 评论 -
搭建springmvc环境的步骤(基于注解)
springmvc基于注解的配置步骤原创 2017-06-30 12:54:18 · 525 阅读 · 0 评论 -
servlet实现form表单的文件上传
该方法需要用到commons-fileupload-1.2.2.jar和commons-io-2.4.jar两个包,自行下载。原创 2017-04-25 10:07:21 · 1540 阅读 · 0 评论 -
Spring Boot之HelloWorld环境搭建!!!
SpringBoot从零开始!原创 2017-07-19 14:16:22 · 460 阅读 · 0 评论 -
springmvc接收参数
springmvc接收不同类型的参数的方法。原创 2017-06-30 13:07:06 · 469 阅读 · 1 评论 -
搭建springmvc环境的步骤(基于配置文件)
详细的springmvc环境的搭建步骤。原创 2017-06-30 12:55:59 · 656 阅读 · 0 评论 -
彻底解决Dynamic Web Module 3.0 requires Java 1.6 or newer的方法
我们在做javaweb开发的时候,有时候明明已经将jdk、jre、tomcat等都配成了1.6以上的版本了,但是当我们在修改Project Facets里面的Dynamic Web Module的Version为3.0时,还是会提示我们:Dynamic Web Module 3.0 requires Java 1.6 or newer信息,为此苦恼了很久,今天终于解决了。原创 2017-10-24 10:12:28 · 2124 阅读 · 1 评论 -
mybatis一对多的查询方法详解
mybatis一对多的查询方法详解原创 2017-11-29 10:18:04 · 691 阅读 · 0 评论 -
java读取Excel中的日期时间处理
java读取Excel中的日期时间处理。原创 2017-12-14 14:07:46 · 23407 阅读 · 3 评论 -
java poi给sheet表格中的某个单元格添加批注
// 创建工作簿XSSFWorkbook workBook = new XSSFWorkbook(inputStream);// 创建sheetXSSFSheet sheet = workBook.createSheet(sheetName);XSSFDrawing draw = newSheet.createDrawingPatriarch();// 定义注释的大小和位置/* * ...原创 2018-03-21 09:49:34 · 10184 阅读 · 0 评论 -
POI操作Excel:cell的背景颜色对照表
POI操作Excel:cell的背景颜色对照表色 执行结果HSSFColor.ROYAL_BLUE HSSFColor.TEAL HSSFColor原创 2018-03-21 09:45:16 · 2229 阅读 · 0 评论 -
POI操作Excel总结
操作原则就是现有工作簿,然后有sheet表,接着是产生行,最后产生单元格,对单元格进行操作。InputStream in = new FileInputStream(new File("XXX.xlsx"));// 创建工作簿XSSFWorkbook workBook = new XSSFWorkbook(inputStream);// 创建sheetXSSFSheet sheet...原创 2018-03-21 09:25:20 · 2208 阅读 · 1 评论 -
使用HttpServletResponse对象下载文件时,第二次下载时报错的解决方法
最近又在研究关于Excel的导入与导出,在下载Excel的时候,遇到了一个特别奇葩的问题,就是第一次能下载成功,第二次就下载失败了。// 创建工作簿 这里的file是InputStream对象XSSFWorkbook workBook = new XSSFWorkbook(file);第二次下载失败,报错的代码就在这一行,刚开始经过很多次的断点调试,也没发现什么大问题,file也是同...原创 2018-03-20 15:28:34 · 3352 阅读 · 0 评论