- 博客(42)
- 收藏
- 关注
原创 缓存Caffine
Caffeine是一个基于Java8开发的提供了近乎最佳命中率的高性能的缓存库。缓存和ConcurrentMap有点相似,但还是有所区别。最根本的区别是ConcurrentMap将会持有所有加入到缓存当中的元素,直到它们被从缓存当中手动移除。但是,Caffeine的缓存Cache 通常会被配置成自动驱逐缓存中元素,以限制其内存占用。在某些场景下,LoadingCache和AsyncLoadingCache 因为其自动加载缓存的能力将会变得非常实用。自动加载元素到缓存当中,异步加载的方式也可供选择。
2024-03-25 09:04:55
873
原创 Spring使用EnvironmentPostProcessor自定义启动配置项
EnvironmentPostProcessor使用该接口可以在项目启动时,修改或者添加一些自定义的环境配置;Environmentspring中对环境的抽象(包含环境变量,系统信息以及用户信息),可以使用ApplicationContext.getEnvironment();获取到。使用Environment.getProperty(“key”),获取环境变量。但一般情况下很少直接使用Environment,在日常的SpringBoot编程中会使用到@Value("${}")来获取到环境变量里的值
2020-06-03 11:20:11
2339
1
原创 SpringWeb项目中常用的工具类,以及AOP中常用的知识点
目录RequestContextHolderServletRequestAttributesAOP中常用的JoinPointRequestContextHolderRequestContextHolder在Spring编程中经常使用到,可以用来获取请求的相关信息;该类可以暴露线程绑定的web请求属性RequestAttributes,项目中常用的用法:RequestAttributes RequestContextHolder.getRequestAttributes(); 在servlet环境下返
2020-05-20 11:15:01
288
原创 多线程(疯狂java)学习
多线程的创建和启动继承Thread类创建线程类实现Runnable接口作为Thread的target创建线程使用Callable和Futrue创建线程Java5 提供了Future来代表Callable里call()方法的返回值.并为Future接口实现了一个FutureTask的实现类,它还实现了Runnable接口,可以作为Thread的target常见Callable接口的实现...
2020-03-02 20:55:31
177
原创 获取classpath下的文件
// 方法1:获取文件或流this.getClass().getResource("/")+fileName;this.getClass().getResourceAsStream(failName);// 方法2:获取文件File file = org.springframework.util.ResourceUtils.getFile("classpath:test.txt");//...
2020-02-11 15:55:11
760
原创 nginx基础
nginxnginx是什么,做什么事情?高性能HTTP和反向代理web服务器,占用内存少,并发能力强,专门为性能优化设置,可以承受高达50000的并发量。支持热部署。反向代理正向代理局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务器称为正向代理。需要在浏览器中配置代理服务器。反向代理不需要配置代理服务器,客户端对此代理是无感知的。我们只需要讲请求发送到...
2020-02-10 13:23:30
283
原创 在springboot项目中优雅地实现文件下载
@RequestMapping("/fileDownLoad2") public ResponseEntity fileDemo(){ try { String fileName = "D:/yuSys/02 运行官方例子1575947491341.pptx"; // 获取本地文件系统中的文件资源 Fi...
2019-12-13 15:36:09
956
1
原创 Gradle使用说明
Groovy 概述DSL 领域特定语言Groovy是脚本的DSLGroovy基于JVM的开发语言Groovy可以与Java完美结合,而且可以使用java所有类库Groovy特性语法上支持动态类型,闭包等新一代语言特性Groovy优势更加敏捷既可以作为编程语言,也可以作为脚本语言第一个Groovy程序println ‘Hello Groovy’Groovy 语法详解基础...
2019-12-05 09:50:24
393
原创 Java基础温习6
多线程并发性(concurrency)和并行性(parallel)是两个概念,并行指在同一时刻,有多条指令在多个处理器上同时执行;并发指在同一时刻只能有一条指令执行,但多个进程指令快速轮换执行,使得在宏观上具有多个进程同时执行的结果。多进程的并发在不同硬件和操作系统下采用不同的策略,必将常见的有1,公用式的多任务操作策略,例如Windows3.1和Mac OS 9;2,目前使用效率更高的抢占式...
2019-09-18 12:29:43
197
原创 Java基础温习5
输入、输出File类是java.io包下代表与平台无关的文件和目录。File能新建、删除、重命名文件和目录。但不能访问文件内容本身,如果需要访问,则需要使用输入流、输出流。访问文件和目录File类可以创建File实例,既可以是决定路径,也可以是相对路径。默认情况下,系统总是依据用户的工作路径来解释相对路径,这个路径由系统属性user.dir指定,通常也就是运行Java虚拟机时所在的路径。1...
2019-09-18 12:29:12
211
原创 Java基础温习4
泛型从Java5开始,引入了泛型。如:List strList = new ArrayList();从Java7开始,允许泛型的菱形语法,即后边的类型参数可以省略。List strList = new ArrayList<>();Java可以推断出具体的泛型类型。菱形语法对原有的泛型并没有改变,只是更好地简化了泛型编程。深入泛型所谓泛型,就是允许在定义类,接口和方法时使...
2019-09-18 12:28:41
208
原创 Java基础温习3
Java集合Java5增加了Queue体系集合,代表一种队列集合实现.所有的集合类都位于java.util包下,JDK1.5之后在java.util.concurrent包下提供了一些多线程支持的集合类.Java的集合类主要由两个接口派生而出的:Collection和Map,它们时集合框架的根接口.图片使用Lambda表达式遍历集合Java8为Iterable接口新增了一个forE...
2019-09-18 12:28:10
205
原创 Java基础温习2
Java的命令模式一种方法的执行有不同的结果,假设对数组进行处理;public interface Command{ void process(int[] target);}public class ProcessArray{ public void process(int[] target,Command com){ com.process(target); }}内部类...
2019-09-18 12:27:51
279
小马哥Spring Boot2学习记录
Spring Boot2.0-初遇SpringBoot2SpringBoot插件应放在包含Main方法的模块中(多模块情况)在使用spirng-boot:run时,应在含有Main方法模块的根目录下执行,并且项目需要进行安装(多模块)...
2019-09-18 12:26:18
592
1
原创 Java基础(一)
数据类型和标识符java不常见的关键字goto 保留关键字transient 短暂的trictfpvolatile 不稳定的const 保留关键字native 原始的浮点型因为java浮点数使用的是二进制数据的科学计数法表示,所以在实际生活中不会特别的精确。如果开发者需要精确保存一个浮点数,则可以考虑使用BigDecimal类;Java提供了三个特殊的浮点数值:正无穷大,负无...
2019-08-14 16:09:16
156
原创 shiro2
Session Managementshiro可以为单机应用到集群应用提供会话管理。shiro可以在任意应用中使用,不论是不是WEB应用,也不管容器是什么。使用shiro的会话支持 ,主要是shiro有如下特性:基于POJO/J2SE(IOC友好) 所有内容都基于接口,并与POJO一起实现。可以轻松使用SpringXML、JSON或YAML进行配置;轻松定义session的存储 这意味...
2019-08-13 20:22:22
181
转载 shiro1
#一,引入shiro框架*环境:所以将shiro的一些经验记录下来,希望能帮助到读到本文的你,本文环境shiro1.3.2、spring4.3.5没有使用boot、jdk8、tomcat8.5、mysql5.6、redis3.2.11。目标:通过shiro实现对后端接口进行权限控制,所有静态资源都不需要权限验证,使用redis实现session共享,避免session单点问题。shiro版本...
2019-08-12 22:39:28
268
原创 java8学习记录
java8学习JAVA8 IN ACTOIN 学习第一部分 基础知识第一章:为什么要关心Java81.1 Java在变化1.1.1 java在编程语言生态系统中的位置1.1.2 流处理1.1.3 用行为参数化把代码传递给方法1.1.4 并行与共享的可变数据1.2 java中的函数1.2.1 方法和Lambda作为一等公民1.2.2 传递代码:一个例子1.2.3 从传递方法到Lambda默认方法(接...
2019-07-27 11:03:52
275
转载 sql行转列
sql内置函数pivot强大的行转列功能语法:PIVOT用于将列值旋转为列名(即行转列),在SQL Server2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P完整语法:table_sourcePIVOT(聚合函数(value_column)FOR pivot_columnIN(...
2019-05-29 10:59:23
764
原创 SpringAOP和事务
AOPAOP简介AOP(Aspect-Oriented Programming, 面向切面编程):是一种新的方法论, 是对传统 OOP(Object-OrientedProgramming, 面向对象编程) 的补充.;AOP 的主要编程对象是切面(aspect), 而切面模块化横切关注点. 在应用 AOP 编程时, 仍然需要定义公共功能, 但可以明确的定义这个功能在哪里, 以什么方...
2019-05-29 10:41:56
1885
原创 SpringIOC
一,Spring具体描述Spring:轻量级:Spring是非侵入性的。基于Spring开发的应用中的对象可以不依赖于Spring的API; 依赖注入:(DI--dependency injection 、IOC); 面向切面:(AOP--aspect oriented programming); 容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期; 框架:Spri...
2019-05-28 17:30:34
173
原创 Mybatis学习记录
MyBatis-HelloWorldMyBatis操作数据库1,创建MyBatis全局配置文件-MyBatis的全局配置文件包含了影响Mybatis行为甚深的设置(settings),属性(properties)信息,数据库连接池信息等.指导着Mybatis进行工作.我们可以参考官方文件的配置文件.2,创建SQL映射文件-映射文件的作用就相当于定义Dao接口的实现类如何工作.这...
2019-05-27 09:45:01
231
原创 SpringMVC(二)
FORM标签:一般情况下,通过GET请求获取表单页面,而通过POST请求提交表单页面,因此获取表单页面和提交表单页面的URL时相同的。只要满足该最佳条件的契约,<form:form>标签就无需通过action属性指定表单提交的URL;可以通过modelAttribute属性指定绑定的模型属性,若没有指定该属性,则默认从request域对象中读取command属性的bean,如果...
2019-05-20 14:29:26
267
原创 SpringMVC(一)
一、HelloWorld1,配置web.xml文件配置DispatcherServlet:DispatcherServlet默认加载/WEB-INF/<servletName-servlet>.xml的Spring配置文件,启动WEB层的Spring容器。可以通过contextConfigLocation初始化参数自定义配置文件的位置和名称; <servlet>...
2019-05-14 16:24:17
191
原创 Spring注解版
一、IOC容器1,AnnotationConfigApplicationContext(1)配置类@Configuration: 用于类上,告诉Spring这是一个配置类(2)包扫描@ComponentScan() 包扫描@ComponentScans()可以配置多个包扫描(java8之后允许重复注解,而@ComponentSan就属于重复注解,可以直接重复使用,不再依赖@...
2019-05-10 10:55:38
1191
转载 Spring容器的refresh
1、prepareRefresh()刷新前的预处理; 1)、initPropertySources()初始化一些属性设置;子类自定义个性化的属性设置方法; 2)、getEnvironment().validateRequiredProperties();检验属性的合法等 3)、earlyApplicationEvents= new LinkedHashSet<Appl...
2019-05-10 10:14:27
149
原创 Jackson常用注解学习
读写注解@JsonProperty(value = "***")属性使用的注解,用来表示外部属性名字,就时使用别名序列化,而不是对象的属性名public class Student { private int id; @JsonProperty("s_name") private String name; private int age; ...
2019-05-09 14:00:47
595
原创 Spring框架学习记录
配置SpringApplication设置spring配置选项配置Spring有两种方法:1,Xml;2,注解基本配置概述对于xml配置,需要声明Spring提供的命名空间基础信息;要想使用Spring的注解支持需要配置<context:component-scan> <context:component-scan> 标记告诉Spring扫描代码,从...
2019-04-24 15:06:52
172
转载 @Fetch FetchMode=select/join/subselect
https://blog.csdn.net/sinat_28454173/article/details/52327220
2019-04-17 18:05:43
1666
转载 @EntityGraph的使用
JPA 2.1推出来的@EntityGraph、@NamedEntityGraph用来提高查询效率,很好地解决了N+1条SQL的问题。两者需要配合起来使用,缺一不可。@NamedEntityGraph配置在@Entity上面,而@EntityGraph配置在Repository的查询方法上面.因为在设计一个树形结构的实体中用到了多对一,一对多的映射关系,在加载其关联对象的时候,为了性能考...
2019-04-15 10:09:09
7151
原创 学习springbootjap中所遇到的问题;@MapsId,@EmbeddedId,@Embeddable,@IdClass的使用
由于之前较多接触的是mybatis,当刚开始做springbootjpa项目是还是有些许困惑的;@MapsId官方的解释是Designates a <code>ManyToOne</code> or<code>OneToOne</code> relationship attribute that provides themappin...
2019-04-12 11:22:07
3618
原创 异步任务的现实例子
package cn.cihi.manager;import java.util.UUID;import java.util.concurrent.LinkedBlockingQueue;import com.cihi.service.appealservice.Result;import cn.cihi.dao.AppealData;import cn.cihi.entity.A...
2019-01-23 10:01:41
337
转载 java json字符串转JSONObject和JSONArray以及取值
import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonTest { public static void main(String[] args) { String joStr = "{name:\"张三\",age:\"20\"}"; ...
2018-08-24 13:45:56
1465
转载 solr搜索分词优化
solr搜索分词优化solr服务器配置好在搜索时经常会搜出无关内容,把不该分的词给分了,导致客户找不到自己需要的内容,那么我们就从配置词典入手解决这个问题。首先需要知道自带的词典含义:停止词:停止词是无功能意义的词,比如is 、a 、are 、”的”,“得”,“我” 等,这些词会在句子中多次出现却无意义,所以在分词的时候需要把这些词过滤掉。扩展词库:就是不想让哪些词被分开...
2018-08-16 16:34:30
457
原创 pio输出EXCEL示例
import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFFont;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.util.HSSFColor;import ...
2018-08-16 15:15:26
392
转载 jquery设置单选框radio选中的方法
用jquery来操作网页中的单选按钮radio,设置某一个radio选中,一般有俩种方法:一种是用索引: <script language="javascript"> //获取网页中name=angel的单选按钮,取第一个,添加属性checked=checked,也就是让其选中 $("input[name=angel]:eq(0)").at...
2018-08-13 10:58:13
8213
转载 Eclipse导入git上的maven web项目 以及部署成功运行
在公司开发的时候都是用maven 以及git环境 开发的环境,那么我们初学者怎么将公司的项目成功导入到eclipse中,并且成功运行那???下面的教程就可以告诉大家~(ps:第二步可能是大家会遇到的问题请仔细看~把项目变成Dynamic Web项目) 1 Eclipse中导入Git的maven项目(git导入maven项目的方式有很多,可以在eclipse中进 行,或者用git...
2018-08-09 09:55:22
429
转载 通过git创建的项目没有.project和.classpath的解决方案
1,在弹出的对话框中选择Import as general project2,右键项目,选择project facets3,选择Dynamic Web Module
2018-08-07 16:40:46
2678
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人