自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

司天宏的博客

java工程师

  • 博客(315)
  • 收藏
  • 关注

原创 SpringSecurity

一. SpringSecurity 框架简介1.概要Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spring 家族中的成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。正如你可能知道的关于安全方面的两个主要区域是“认证”和“授权”(或者访问控制),一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分,这两点也是 S

2021-01-16 22:36:45 1681 1

原创 Git下载地址

https://npm.taobao.org/mirrors/git-for-windows/

2021-01-12 14:30:57 359

原创 JVM(一)

2021-01-09 19:50:00 1343

原创 设计模式---访问者模式

访问者模式介绍:访问者要解决的核心事项,在一个稳定的数据结构下,例如用户信息,增加易变的业务访问逻辑,为了增强扩展性,将者两部分业务解耦的一种设计模式

2021-01-04 21:59:08 1181

原创 java word转pdf

这个工具类全面支持DOC, DOCX,OOXML, RTF HTML,OpenDocument,PDF, EPUB, XPS,SWF 相互转换1. jar包下载百度云盘 提取码:2ero在下载的文件夹中使用maven 打包mvn install:install-file -Dfile=aspose-words-19.2.jar -DgroupId=com.aspose -DartifactId=aspose-words -Dversion=19.2 -Dpackaging=jar打包好的依.

2020-12-13 00:32:33 546 2

原创 Reids

window版本百度云盘 提取码:3j7x解压1.redis 启动文件根目录打开一个命令窗口,就是你解压的目录,输入命令:redis-server redis.windows.conf2.部署redis为windows下的服务 命令如下:再打开一个新的命令窗口,输入命令:redis-server --service-install redis.windows.conf3.安装后的启动服务命令:redis-server --service-start4.停止服务命令:redis-ser

2020-12-12 22:19:02 223

原创 对map集合进行排序

添加链接描述

2020-12-11 13:11:29 325

原创 java常用file的使用

file

2020-12-09 09:14:35 91

原创 java时间的使用(LocalDate)

标题

2020-12-09 09:13:33 300

原创 Collectors的使用

package com.sunwayworld.sunrui;import java.io.IOException;import java.util.*;import java.util.stream.Collectors;public class Test { public static void main(String[] args) throws IOException { Student s1 = new Student("aa", 10,1);

2020-12-05 16:38:11 539

原创 统一异常处理和统一日志处理

一、什么是统一异常处理1、制造异常除以0int a = 10/0;2、什么是统一异常处理我们想让异常结果也显示为统一的返回结果对象,并且统一处理系统的异常信息,那么需要统一异常处理二、统一异常处理1、创建统一异常处理器/** * 统一异常处理类 */@ControllerAdvicepublic class GlobalExceptionHandler { @ExceptionHandler(Exception.class) @ResponseBody public R

2020-11-29 21:28:36 664 1

原创 leetcode35---搜索插入的位置(二分查找法)

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0Related Topics数组二分查找\n???? 742???? 0## 官方解法### ???? 视

2020-11-29 14:06:07 306

原创 letcode---389找不同

给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。 示例 1:输入:s = "abcd", t = "abcde"输出:"e"解释:'e' 是那个被添加的字母。示例 2:输入:s = "", t = "y"输出:"y"示例 3:输入:s = "a", t = "aa"输出:"a"示例 4:输入:s = "ae", t = "aea"

2020-11-29 14:05:42 134

原创 List去除重复数据的几种方式和性能比较

以下介绍5种去除Java中ArrayList中的重复数据1. 使用LinkedHashSet删除arrayList中的重复数据LinkHashSet是在一个ArrarList删除重复数据的最佳方法.LinkHaseSet在内部完成两件事删除重复数据保持添加到其中的数据的顺序import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedHashSet;import java.util.List;p.

2020-11-29 13:25:37 1822

原创 分布式系统唯一ID生成方案汇总

分布式系统唯一ID生成方案汇总雪花算法生成id

2020-11-28 15:46:57 149

原创 leetCode---[13]罗马数字转整数

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII&nbs

2020-11-20 17:41:14 182

原创 设计模式---结构型---装饰器模式

什么是装饰器模式?装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演示装饰器模式的用法。其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类。普通示例1.新建一个普通的蛋糕类import java.math.BigDecimal;public class

2020-11-15 23:42:29 168

原创 Java 8 新特性---Optional类

Optional类介绍代码实例public class Boy { private Girl girl; @Override public String toString() { return "Boy{" + "girl=" + girl + '}'; } public Girl getGirl() { return girl; } publ

2020-11-15 21:52:42 214

原创 Java 8 新特性---Stream API

Stream API说明为什么要使用Stream API什么是 StreamStream 的操作三个步骤创建 Stream方式一:通过集合创建 Stream方式二:通过数组创建 Stream方式三:通过Stream的of()创建 Stream方式四:创建无限流Stream 的中间操作Stream 的终止操作实例1—测试Stream的实例化import com.atguigu.java2.Employee;import com.atguigu.jav

2020-11-15 20:52:55 223

原创 Java 8 新特性---Lambda表达式

代码示例import org.junit.Test;import java.util.Comparator;/** * lambda 使用举例 */public class LambdaTest { @Test public void test1() { Runnable r1 = new Runnable() { @Override public void run() { S.

2020-11-15 20:31:10 142

原创 Java 8 新特性---方法引用与构造器引用

方法引用构造器引用使用举例public class Employee { private int id; private String name; private int age; private double salary; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return nam

2020-11-15 20:30:16 166

原创 Java 8 新特性---函数式接口

import org.junit.Test;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.function.Consumer;import java.util.function.Predicate;/** * java内置的4大核心函数式接口 * * 消费型接口 Consumer<T> void accept(T t) * ...

2020-11-15 19:43:25 142

原创 Java 8 新特性

Java 8新特性简介Lambda表达式函数式(Functional)接口方法引用与构造器引用强大的Stream APIOptional类

2020-11-15 17:31:41 151

原创 反射的应用---动态代理与AOP(Aspect Orient Programming)

动态代理静态代理实例package com.sth.spring.zzz;/** * 静态代理举例 * <p> * 特点:代理类和被代理类在编译期间,就确定下来了 */interface ClothFactory { void produceCloth();}//代理类class ProxyClothFactory implements ClothFactory { private ClothFactory factory;// 就拿被代理类对象进行

2020-11-15 15:11:19 169

原创 由浅入深理解反射

反射的概述Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。动态语言:是一类在运行时可以改变其结构的语言:列如新的函数,对象,甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化,通俗的讲->在运行时代码可以根据某些条件改变自身结构,Java被称为"准动态语言",既Java有一定的动态性,我们可以用反射机制,字节码操作获得类似动态语言的特性,Java的动

2020-11-14 20:03:46 196

原创 IDEA

英文翻译插件:Translations(阅读源码必备)打开file->Settings,找到Plugins,搜索Translations使用: 选中单词或者语句后使用快捷键:Ctrl+Shift+y效果如图所示想使用翻译时还可以选择使用什么网站翻译,点击IDEA右下角的谷歌...

2020-11-14 12:18:29 535

原创 Java常用类(String类+StringBuffer和StringBuilder+日期时间+Java 比较器+System类+Math类+BigInteger与BigDecimal)

一. String类Sring类:代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。String是一个final类,代表不可变的字符序列字符串是常量,用双引号引起来表示。它们的值在创建之后不能更改。当对字符串重写赋值时,需要重写指定内存区域值,不能使用原有的value进行赋值当堆字符串修改时,也需要重写指定内存区域值,不能使用原有的value进行赋值String对象的字符内容是存储在一个字符数组value[]中的通过字面量的方式(区别于new)給

2020-11-09 00:17:21 211 1

原创 Spring5.2.5AOP

环境的搭建package com.sth.spring.advisor;import org.aopalliance.intercept.MethodInterceptor;import org.aopalliance.intercept.MethodInvocation;public class MyAdvisor implements MethodInterceptor { @Override public Object invoke(MethodInvocation i

2020-11-07 15:23:00 266

原创 Spring5.2.5bean的加载过程

1.搭建环境1.gradle文件plugins { id 'java'}group 'com.sth'version '1.0'sourceCompatibility = 1.8targetCompatibility = 1.8repositories { maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }}dependencie

2020-11-07 15:10:52 186

原创 线程(一)

线程创建Thread类方式一:继承Thread创建一个继承Thread类的子类重写Thread类的run()创建Thread类的子类对象通过此对象调用start()//1.创建一个继承Thread类的子类class MyThread extends Thread{ //2.重写Thread类的run() @Override public void run() { for(int i=0;i<10;i++){ if(i%

2020-11-07 14:35:41 140

原创 设计模式---行为型---模板模式(Template )

一 . 模板模式介绍定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。抽象类体现的就是一种模板设计模式,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展,改造,但子类会保留抽象类的行为方式解决的问题当功能内部一部分实现是确定的,一部分实现是不确定的,这是可以把不确定的部分暴露出去,让子类去实现换句话说,在软件开发中实现一个算法时,整体步骤很固定,通用,这些步骤已经在父类写好了,但是某些部分易变,易变部分可以

2020-11-05 21:50:53 95

原创 设计模式---创建型---单例设计模式(Singleton)

一.单例模式介绍所谓的单例设计模式,就是采取一定的方法保证在整个软件系统中,对某个类 只能存在一个对象实例 ,并且该类只提供一个取得对象实例的方法,如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这样,就不能用new操作符在类的外部产生类的对象了,但是在类内部仍可以产生该类的对象,因为在类的外部无法得到类的对象,只能调用该类的某个静态方法以返回内部创建的对象,静态方法只能访问类中的静态成员变量,所以,指向类内部的该类对象的变量也必须是定义成静态的e

2020-11-03 22:34:16 127

原创 Java经典面试题: 包装类(Wrapper)的使用

1.Java提供了8种基本数据类型对应包装类,使得基本数据类型的变了具有类的特征2. 针对八种基本数据类型定义相应的引用类型- - - > 包装类(封装类)3. 有了类的特点,就可以调用类中的方法,Java才是真正的面对对象 基本数据类型 包装类 byte Byte short Short int Integer long Long float Float d

2020-11-01 14:36:04 203

原创 Java经典面试题: == 和 equals( )的区别

1. == 的用法== 是一个运算符作用域: 可以使用在基本数据类型变量和引用类型变量中1.如果比较的是基本数据类型变量,比较两个变量保存的数据是否相等(不一定类型要相同)public class Temp { public static void main(String[] args) { int i = 10; int j = 10; double d = 10.0; System.out.println(i ==

2020-11-01 13:09:21 1659 1

原创 Gradle6.1的使用和配置+idea使用Gradle没有src的解决办法

1.下载Gradle并配置环境百度网盘链接提取码 : jb5l1.下载后解压到自己选定的目录2.配置环境变量仓库地址配置,建立自己的仓库文件夹检查是否成功控制台种输入:gradle -v2.idea种配置Gradle3.idea使用Gradle创建Java项目...

2020-10-26 22:02:52 869 5

原创 leetCode第5题 最长回文子串

题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;public class Test { publ

2020-10-19 08:59:24 119

原创 leetcode第3题 无重复字符的最长子串

leetcode第3题:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew” 输出: 3 解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个

2020-10-09 16:12:18 74

原创 springBoot2.x静态资源配置和启动热加载

添加静态资源文件,外部可以直接访问地址import org.springframework.stereotype.Component;import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Componentpublic class We..

2020-09-29 22:28:42 397

原创 SpringBoot项目启动热加载

2020-09-28 13:05:49 163

原创 poi-tl的使用

1.入门1.添加依赖 <dependency> <groupId>com.deepoove</groupId> <artifactId>poi-tl</artifactId> <version>1.7.3</version> </dependency>2.定义模板3.代码import com.deepoove.poi.XWPFTempla

2020-09-17 16:03:31 29553 16

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除