![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java进阶之路
文章平均质量分 52
沐涤生
总之岁月漫长,然而值得等待!
展开
-
spring cloud nacos服务搭建
spring cloud nacos服务搭建原创 2022-08-28 23:19:39 · 1911 阅读 · 3 评论 -
Java为Excel导出增加批注(POI)
import org.apache.poi.ss.usermodel.*;private void setCommentsOfPoiCell(int row,int col, Cell poiCell,Row poiRow,String columnComment){ //增加批注 if(StringUtils.isNotBlank(columnComment) && !"null".equals(columnComment)){ .原创 2022-05-21 17:53:52 · 2670 阅读 · 0 评论 -
多线程控制工具类CountDownLatch/CyclicBarrier
CountDownLatchCountDownLatch是一个多线程控制工具类,这个工具类用来控制线程等待,它可以让某一个线程等待直到倒计时结束,再开始执行。(1)CountDownLatch的构造函数publicCountDownLatch(int count)CountDownLatch的构造函数接收一个整数作为参数,即为当前这个计数器的计数个数。(2)CountDownLatch类中的方法1)public void await() throws InterruptedExce.原创 2021-09-05 22:14:17 · 255 阅读 · 0 评论 -
Java中在PDF文件中生成二维码/增加文字水印/图片水印/PDF转为base64/base64转为PDF文件等
为PDF文件生成二维码@GetMapping("createQrcodeOfPdf") public void createQrcodeOfPdf() throws IOException, DocumentException { //生成PDF文件的路径 String path = "/Users/mudisheng/Desktop/mudisheng/"; //生成PDF文件 FileOutputStream fil..原创 2021-08-08 17:22:34 · 2387 阅读 · 3 评论 -
DB2数据库服务器登陆、执行sql语句、查看执行计划、查看索引、查看索引优化建议及数据备份脚本
(1)服务器上登陆数据库db2 connect to databasename user databaseusername using dadtabasepassword说明:databasename为连接数据库名,database username为连接数据库用户名,database password为连接数据库密码。(2)服务器上执行相关sql执行语句db2 -tvf sqlfile.sql说明:sqlfile.sql为具体的sql文件。(3)服务器上查看sql语句执行计划d原创 2021-06-24 16:11:50 · 5682 阅读 · 0 评论 -
git的使用
git介绍git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。git与svn的区别1)git是分布式的,而svn不是。2)git把内容按元数据方式存储;而svn是按文件存储的。3)git的分支与svn的分支不同。4)git没有一个全局的版本号;而svn有。5)git的内容完整性要优于svn。git的内容存储用的是SHA-1哈希算法,在遇到磁盘故障和网络问题时可以确保代码内容的完整性,降低对版本库的破坏。git常用命令1)查看git的版本号git原创 2021-01-30 22:42:39 · 153 阅读 · 0 评论 -
springboot集成Redis的发布订阅模式
pom.xml文件<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>application.yml配置server: port: 8090spring: redis: da...原创 2020-11-22 21:51:40 · 285 阅读 · 0 评论 -
Linux系列:chmod命令
Linux系统下对某个文件或者文件夹进行某种操作,必须具备相应的执行权限才能进行操作。因为Linux操作系统对文件的权限有着严格的控制。Linux下文件权限、目录权限(1)Linux下文件的权限一般包括读(read)、写(writer)、执行,相对应的字母分别为r、w、x。(2)Linux下有拥有者、群组、其他组三种权限粒度。每个文件都可以针对这三个不同的权限粒度,设置不同的读、写、执行权限。u:拥有者;g:群组;o:其他组;a:所有。(3)Linux下每个文件只能归属...原创 2020-11-15 10:26:21 · 226 阅读 · 0 评论 -
Redis学习系列三:Redis的持久化
Redis支持RDB和AOF两种持久化机制。RDB(1)Redis的RDB持久化机制,其实是指在指定的时间间隔内将内存中数据集快照写入磁盘。实际上,就是fork一个子进程,先将数据集写入临时文件中,写入成功后,替换之前生成的文件,以二进制压缩的方式存储。(2)RDB是Redis的默认持久化机制,其会在默认的目录下生成一个dump.rdb的文件,重启时会通过加载dump.rdb文件来恢复数据。(3)RDB的优势:一旦采用了RDB机制,Redis数据库只有一个文件dump.rdb,方便持久化原创 2020-11-02 22:19:16 · 99 阅读 · 0 评论 -
java中注解
注解简介(1)Java 注解用于为 Java 代码提供元数据。注解本质其实就是一个继承了annotation接口的接口而已(The common interface extended by all annotation types.)。以@SpringBootApplication注解为例,其是这样的:public @interface SpringBootApplication {}。注解与Java中的类、接口、枚举类所在同一个层次,其所用的修饰符为@interface。(2)注解原创 2020-10-18 21:50:43 · 105 阅读 · 0 评论 -
springboot学习系列九:springboot集成spring security
目录Spring security简介pom.xmlapplication.yml测试实例Spring security简介Spring security是spring下的一个功能强大且可高度自定义的身份验证和访问控制(授权)框架。其核心功能主要包括认证(解决你是谁的问题)、授权(你能够做什么的问题)、攻击防护(解决身份伪造的问题)等。与Apache shiro安全框架相比,其更加复杂、“重”。pom.xml<?xml version="1.0" enco...原创 2020-10-08 21:11:44 · 107 阅读 · 0 评论 -
Java设计模式之享元模式
目录享元模式说明享元模式具体应用享元模式说明(1)享元模式享元模式就是运用共享技术有效的支持大量细粒度的对象。(2)享元模式的应用当系统中有大量对象,且这些对象消耗大量内存时,可以考虑使用享元模式。享元模式具体应用(1)抽象享元角色package com.example.demo.flyweight;public interface Employee { public void work(); }(2)具体享元角色package原创 2020-09-13 22:22:34 · 61 阅读 · 0 评论 -
Java设计模式之建造者模式
目录建造者模式说明建造者模式具体应用建造者模式说明(1)建造者模式建造者模式属于创建型模式中的一种。建造者模式将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的形式。在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。解决的问题:方便用户创建复杂的对象(无需知道实现过程 );代码复用性&封装性。(2)建造者模式的好处1)易于拓展。2)代码解耦,模块化,方便维护。(3)建造者模式的缺点:适用范围有限,建造者模式创造出来的产品,其组原创 2020-09-06 21:56:33 · 138 阅读 · 0 评论 -
Java设计模式之策略模式
目录策略模式说明策略模式具体应用策略模式说明(1)策略模式,其实就是定义一组算法,将每个算法都封装起来,使得它们之间可以相互替换,这样,可以做到算法独立于客户端,不随客户端的变化而变化。(2)策略模式中最主要的涉及到三种角色。1)抽象策略角色(strategy):通常使用接口或者抽象类去实现。其定义了多个具体策略的公共接口,具体策略以不同的方式来实现这个接口。环境角色使用这个接口来调用具体策略角色中定义的算法。2)具体策略角色(concretestrategy):实现或者原创 2020-08-30 17:40:11 · 158 阅读 · 0 评论 -
Java中定时器的一些使用
ScheduledExecutorService(1)public ScheduledFuture<?> scheduleAtFixedRate(Runnable command,long initialDelay,long period,...原创 2020-08-23 21:50:05 · 440 阅读 · 0 评论 -
springboot学习系列八:springboot集成MongoDB
MongoDB的介绍(1) MongoDB是一个高性能的、开源的、无模式的nosql数据库之一,跟Redis的key-value存储类型相比,它是一种文档型的数据库。其将数据存储为一个文档,文件存储格式为BSON(类似于json数据),其字段值可以包含其他文档、数组或者文档数组。(2)MongoDB的特性: 1)面向集合存储,易于存储对象类型的数据。 2)支持动态查询。 3)支持赋值和故障恢复。 4)文件存储格式为BSON...原创 2020-08-16 21:46:39 · 245 阅读 · 0 评论 -
Redis学习系列二:Redis的基本数据类型
目录string(字符串)list(列表)hash(散列)set(集合)zset(有序集合)tring(字符串) string是redis最基本的类型。一个key对应一个value。string类型是二进制安全的。redis的string类型可以包含任何数据类型,包括图片格式或者序列化的对象,一个键最大能存储512Mb。 命令 行为 备注备注 set 设置存储在指定k...原创 2020-08-09 20:31:44 · 98 阅读 · 0 评论 -
springboot学习系列七:springboot集成log4j日志
目录pom.xml文件中引入依赖application.yml配置文件log4j.xml文件测试pom.xml文件中引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId></dependency><dependency&.原创 2020-08-02 21:42:11 · 197 阅读 · 0 评论 -
springboot学习系列六:springboot项目中filter和listener的使用
目录Springboot项目中使用filter和listenerFilter在springboot项目中的应用Listener在springboot项目中的应用Springboot项目中使用filter和listenerFilter在springboot项目中的应用package com.example.demo.filter;import javax.servlet.*;import javax.servlet.annotation.WebFilter;imp..原创 2020-07-26 21:57:30 · 471 阅读 · 0 评论 -
springboot学习系列五:springboot集成druid
目录pom.xml中引入依赖application.yml配置文件监控Druid测试DruidDruid是阿里巴巴开源项目中的一个数据库连接池。通过Druid提供的监控功能,我们可以查看数据库连接池和SQL查询的具体情况。下面我们将介绍springboot如何集成druid。pom.xml中引入依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>d原创 2020-07-19 18:01:46 · 203 阅读 · 0 评论 -
springboot学习系列四:springboot集成quartz
pom.xml中引入依赖<dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.3</version></dependency>定时任务配置文件使用xml的方式创建定时器。...原创 2020-07-12 17:16:37 · 324 阅读 · 0 评论 -
springboot学习系列三:springboot集成Redis
目录pom.xml中引入依赖application.yml配置文件测试redis样例pom.xml中引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><ver...原创 2020-07-05 20:59:11 · 149 阅读 · 0 评论 -
springboot学习系列二:springboot集成mybatis
目录pom.xml文件application.yml配置文件Mapper、实体文件pom.xml文件Springboot项目集成mybatis时,需要引入mybatis相应的依赖。<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><versi.原创 2020-06-27 22:10:48 · 140 阅读 · 0 评论 -
eclipse中mybatis generator生成mapper文件、实体类
目录安装Mybatis Genarator插件generatorConfig.xml文件生成mapper文件、实体类备注说明:此处的eclipse用的是2019-12版本。安装Mybatis Genarator插件(1)在“Help”下找到“Eclipse Marketplace”,打开。(2)在“Eclipse Marketplace”中搜索“Mybatis Generator”插件,点击安装即可。generatorConfig.xml文件(1)generatorC原创 2020-06-27 21:07:50 · 646 阅读 · 0 评论 -
springboot学习系列一:springboot介绍
目录Springboot简介Eclipse创建springboot项目Springboot项目架构介绍测试springboot项目Springboot简介(1)springboot介绍 spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up and running as quickly as ...原创 2020-06-26 15:31:15 · 169 阅读 · 0 评论 -
源码学习:ArrayList源码分析
目录ArrayList类的定义ArrayList类中的成员变量ArrayList的构造方法size方法isEmpty方法indexOf方法lastIndexOf方法add方法remove方法get方法set方法contail方法ArrayList类的定义public class ArrayList<E> extends AbstractList<E>implements List<E>, R...原创 2020-06-14 20:44:42 · 202 阅读 · 0 评论 -
Java中枚举的使用
目录常量switch语句有参数的枚举枚举元素获取枚举实现接口 最近在项目开发中,看见前人有用到枚举的,所以趁此机会,总结一下实际开发过程中枚举的使用。下面,我们从常量、switch语句、有参数的枚举、枚举元素获取、枚举实现接口这五个方面来说说枚举的应用。常量我们通常用枚举来定义一些固定的、不变的常量。比如生活中“红绿灯”、衣服的大小等。package com.test;public enum Color {Red,Yel...原创 2020-06-04 22:03:22 · 182 阅读 · 0 评论 -
Redis学习系列一:认识Redis
(1)什么是Redis(参照Redis官网) Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, ...原创 2020-05-31 21:20:46 · 255 阅读 · 0 评论 -
Java基础之static关键字
static作为Java中常用的关键字之一,我们通常用其来修饰变量、代码块、方法等。原创 2020-05-24 17:35:43 · 151 阅读 · 0 评论 -
Java基础之final关键字
目录final修饰变量final修饰方法final修饰类final作为Java中的关键字,在我们日常的开发过程中,主要用来修饰变量、方法和类。下面,我们也将从这三个方面来谈谈final关键字的使用。final修饰变量(1)当我们使用final来修饰一个变量时,必须要赋初始值,而且是只能初始化一次。(2)使用final修饰一个成员变量时,赋值可以采取两种方式:一是直接赋值,二是全部在构造函数中赋值。(3)final如果修饰的是一个基本类型的数据,那么这个变量的值不会改变(.原创 2020-05-24 17:38:05 · 169 阅读 · 0 评论 -
前端页面中年月日星期的动态展示
$(document).ready(function(){date_time('time_bar');})function date_time(id){date = new Date;//获得年year = date.getFullYear();//获得月month = date.getMonth() + 1;//获得日d = date.getD...原创 2020-05-08 22:20:16 · 510 阅读 · 0 评论 -
学习笔记(实战Java高并发程序设计)
目录多线程必须了解的几个概念同步和异步并行和并发临界区阻塞和非阻塞死锁、饥饿和活锁并发级别多线程必须了解的几个概念同步和异步(1)同步synchronous:同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。(2)异步asynchronous:异步方法调用更像是一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续...原创 2020-05-07 22:16:13 · 238 阅读 · 0 评论 -
源码学习:String源码分析
String源码学习(1) public final class String implements java.io.Serializable, Comparable<String>, CharSequence {//用于存储字符的字符数组,值不可更改 private final char value[];//该字符串的hash cod...原创 2020-05-01 22:39:35 · 288 阅读 · 1 评论 -
2020年Java程序员北京四月份面试题
Java基础方面1.==与equals的区别?2.string、stringbuffer和stringbuilder的区别?为什么stringbuffer比string快?3.string类为什么设置成final类型,有什么好处?4.overload和override的区别?5.说说Java中static的用法?6.final的用法知道吗?怎么用?7.Java中的集合有...原创 2020-04-24 14:48:29 · 1132 阅读 · 0 评论 -
select下拉框中js和jquery获取值的方式对比
(1)JavaScript中获取到select下拉框中的value值和文本内容。 <script type="text/javascript"> function on(){ varselect = document.getElementById("select1"); al...原创 2018-04-06 22:24:55 · 292 阅读 · 0 评论