
Java
shuos_yan
最后悔的事不是失败而是我本可以
展开
-
p6spy 日志打印框架使用
引包 <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>3.9.1</version> </dependency>配置yml配置修改driver-class-name为 com.p6spy.engine.sp原创 2022-05-19 11:36:09 · 1502 阅读 · 1 评论 -
获取上周一及上周天日期
上周一及上周天日期public static Map<String, String> getMonToSunday() { Calendar preWeekSundayC = Calendar.getInstance(); Calendar preWeekMondayCal = Calendar.getInstance(); //上周天时间 preWeekSundayC.set(Calendar.DAY_OF_WEEK, 1);原创 2021-08-26 15:04:21 · 577 阅读 · 0 评论 -
map value 排序
这里使用map value double 排序/** * map value double 排序 * @param map * @param <K> * @param <V> * @return */ private <K, V extends Comparable<? super V>> Map<K, V> setSort(Map<K, V> map){原创 2021-08-06 15:47:56 · 151 阅读 · 2 评论 -
java中0.55,0.56,0.57,0.58 * 100 错误问题
解决方案: System.out.println(new DecimalFormat("0.00").format(Double.parseDouble(String.format("%.2f", 0.55 * 100 ))));原创 2021-08-05 10:09:36 · 382 阅读 · 0 评论 -
window将.exe jar包设置成服务自启
.exe文件sc.exe create 服务名 binpath= “.exe路径” displayname= “服务名” depend= Tcpip start= auto举例:sc.exe create nginx binpath= "E:\install\nginx-1.18.0\nginx.exe" displayname= "nginx" depend= Tcpip start= autojar文件使用 winsw需下载两个文件下载地址:winsw下载的文件:将这两个文件的原创 2021-07-19 15:52:15 · 281 阅读 · 0 评论 -
mybatis plus使用maps查询配置返回驼峰
xml配置: MP 其他配置mybatis-plus: configuration: map-underscore-to-camel-case: true call-setters-on-nulls: true object-wrapper-factory: com.baomidou.mybatisplus.extension.MybatisMapWrapperFactory配置beanpackage com.zf.interact.conf;import org.原创 2021-06-21 09:40:26 · 1281 阅读 · 1 评论 -
跨域
// 请求跨域@Configurationpublic class CorsConfig implements WebMvcConfigurer { static final String ORIGINS[] = new String[]{"GET", "POST", "PUT", "DELETE"}; @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapp原创 2021-05-25 09:49:17 · 181 阅读 · 0 评论 -
websocket 实现小房间内收发
导包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency>配置package com.example.nettyws.config;import org.spr原创 2021-05-24 11:12:20 · 132 阅读 · 0 评论 -
Object 对象与Map互转
import java.lang.reflect.Field;import java.lang.reflect.Modifier;import java.util.LinkedHashMap;import java.util.Map;public class BeanToMapUtil { /** * Object转Map * * @author:Shuoshi.Yan * @date: 2020/9/21 15:55 */ .转载 2021-01-26 14:35:30 · 847 阅读 · 0 评论 -
JGit介绍及使用
简介JGit是一个可以用java来对git进行操作的插件,可以通过代码连接git远程仓库,在本地建立版本库,进行拉取、提交、推送等操作。依赖 <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit</artifactId> <version>5.9.0.202原创 2020-12-31 11:31:18 · 3596 阅读 · 1 评论 -
收集系统和处理信息 - sigar 详细使用及相关技术推荐
它是干什么的:用来从许多平台收集系统和处理信息有哪些平台:Linux, Windows, Solaris, AIX, HP-UX, FreeBSD and Mac OSX需要哪些依赖:window:需要sigar-amd64-winnt.dll或sigar-x86-winnt.dll,直接把这俩放到jdk的bin目录下就行linux:需要libsigar-amd64-linux.so或libsigar-x86-linux.so,这俩也放到jdk的bin下就行一些问题:官网貌似有时候访问不了原创 2020-11-24 10:27:12 · 1193 阅读 · 1 评论 -
Java-WebSocket
在这里记录一下 Java-WebSocket 使用及源码地址源码地址:Java-WebSocket操作步骤:从github上将代码下载下来server端可参考ChatServer.jar,client端可参考ExampleClient.jara可以本地启动测试一下原创 2020-11-23 15:41:10 · 156 阅读 · 0 评论 -
后台启动jar项目并且控制日志输出
平常启动jar都是:java -jar test.jar或者加上jvm配置java -Xmx3550m -Xms3550m -Xmn128k -Xss128k -jar test.jar后台启动jar,但是日志回输出到nohub.outnohub java -jar test.jar &后台启动jar并不让输出到nohub.outnohub java -jar test.jar >/dev/null 2>&1 &...原创 2020-11-23 14:29:54 · 701 阅读 · 0 评论 -
maven打包去掉版本号
在<build> </build>标签内加入<build> <finalName>this is project name</finalName></build>原创 2020-11-23 14:15:31 · 688 阅读 · 0 评论 -
值传递和引用传递
说到值传递和引用传递不得不提到java的数据类型基础数据类型整数类型:long、int、short、byte浮点类型:float、double字符类型:char布尔类型:boolean引用数据类型字符串数组类接口枚举注解基础数据类型和引用数据类型的区别存储位置基础数据类型存放在栈中引用数据类型中变量的地址存放在栈中,具体的内容存放在堆中传递方式基础数据类型是值传递引用数据类型是引用传递值传递: public static void main(Str原创 2020-07-27 16:13:28 · 159 阅读 · 0 评论 -
@ConfigurationProperties使用及与@Value对比
两者区别@ConfigurationProperties:可以将配置文件中的属性值批量注入到类的各个属性;@Value:为类中的各个属性逐个赋值@ConfigurationProperties支持松散绑定;@Value不支持 松散绑定:指的是配置文件中的命名规则 比如说: config.test.oldOne=HelloWord:对应的类的属性是oldOne config.test.old-one=HelloWord:对应的属性是oldOne config.test.old_one=原创 2020-07-15 10:42:50 · 3100 阅读 · 0 评论 -
WebMvcCofigurer使用详解
简介WebMvcCofigurer是Spring提供的一种使用javaBean配置web的方式,不再使用原来的通过xml来配置的方法,他可以配置信息转换器、拦截器、参数解析器、静态资源配置以及跨域处理等使用WebMvcConfigurer接口中有许多方法,在这里我们介绍几个常用的,在使用的时候直接实现这个接口就行了configureMessageConverters 信息转换器@Over...原创 2020-05-04 10:41:44 · 564 阅读 · 0 评论 -
JWT 详解及源码分析
1. 什么是JWT介绍JSON Web Token,没错就是用来身份认证的,使用了行业流行的RFC 7519方法标准,用官方点的话说是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范,他使用Json及签名和响应算法进行认证jwt支持很多种算法:同样也支持多种语言库特点:简洁:可以通过URL或者http请求头的方式发送,发送的数据量少,传输速度快安全:使用了签名...原创 2020-04-22 16:36:52 · 3784 阅读 · 2 评论 -
Java Serializable(序列化)
本片文章转载于https://blog.youkuaiyun.com/dreamtdp/article/details/15378329 并加上了自己的理解1、序列化是干什么的?简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机...转载 2020-04-21 14:11:07 · 993 阅读 · 0 评论 -
常用Lombok注解详解
整理一下项目中常用的lombok注解:@Getter加在类上,可以自动生成参数的getter方法@Setter加在类上,可以自动生成参数的setter方法@ToString加在类上,调用toString()方法,可以输出实体类中所有属性的值@RequiredArgsConstructor会生成一个包含常量,和标识了NotNull的变量的构造方法。生成的构造方法是私有的private...原创 2020-04-20 14:59:49 · 867 阅读 · 0 评论 -
导出 Word
代码:package com.wangtiansoft.stla.provider.utils;import freemarker.template.Configuration;import freemarker.template.Template;import java.io.*;import java.util.*;public class WordUtil { /...原创 2020-03-10 16:06:02 · 1469 阅读 · 0 评论 -
后台重定向
通过redirect返回String类型跳转@Controller@RequestMapping("/modules/Login")public class AuthLoginController { @RequestMapping("/login") public String login() { return "redirect:" + url; }...原创 2019-12-12 12:24:00 · 2241 阅读 · 0 评论 -
自定义注解
概述:注解是一种能够添加到java代码中的元数据可以修饰类、fang’fa、变量、参数、包注解对它所修饰的代码没有直接的影响自定义注解:public @interface TestInterface { String className(); int count() default 20; String[] array() default "1";}使...原创 2019-10-16 14:49:18 · 245 阅读 · 0 评论 -
浅谈static
静态变量:由static修饰属于类的,存储在方法区中,只有一份常常通过类名点来访问何时用:所有对象所共享的数据(图片、音频、视频等)静态方法:由static修饰属于类的,存储在方法区中,只有一份常常通过类名点来访问静态方法没有隐式的this传递,静态方法中不能直接访问实例成员何时用:方法的操作仅与参数相关而与对象无关静态块:由static修饰属于类的,在类...原创 2019-09-10 11:18:44 · 115 阅读 · 0 评论 -
Session和cookie对比
Session和cookieCookie:可以被用户禁止保存少量数据只能保存字符串Session:安全保存更丰富的数据类型保存更多数据占用服务端内存,Cookie流程:浏览器访问服务器的时候,服务器会将一些数据以set-cookie消息头的方式发送给浏览器,浏览器会将这些数据临时保存下来;当浏览器再次访问服务器时候,会将之前存放的数据以cookie消息头的型式发...原创 2019-09-10 11:00:26 · 562 阅读 · 0 评论 -
垃圾回收机制
垃圾回收机制概述:java中一个显著的特点就是垃圾回收机制,会将无用的对象自动回收,不会像c++程序员那样自己手动管理内存,它使得java程序员再开发过程中不想需要担心内存问题,它可以有效的防止内存泄漏他有许多垃圾回收的算法,但是其目的都是:发现无效对象,将无效对象回收,释放内存标记清除法:它是从根集合进行扫描,对存活的对象进行标记,标记完成后再扫描未被标记的对象,进行回收,回收的速度...原创 2019-09-10 10:12:53 · 782 阅读 · 0 评论 -
集合
集合Collectin和MapCollection(List和Set)List分为ArayyList、LinkedList、Vector(动态数组);List是有序不重复ArrayList:数组、查询快、增删慢、不安全、轻量级LinkedList:双向链表实现、查询慢、增删快、不安全说明:在此链表上每一个数据节点都由三部分组成:前指针(指向前面的节点的位置),数据,后指针(指...原创 2019-09-10 10:10:48 · 163 阅读 · 0 评论 -
浅谈设计模式
设计模式单例模式总结:一个类在java虚拟机中只有一个对象,并提供一个全局访问点解决问题:对象的唯一性,减少性能浪费分类:饿汉式和懒汉式饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,以后不在改变。懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的。从实现方式来讲他们最大的区别就是懒汉式是延时加载,他是在需要的时候...原创 2019-08-27 21:47:48 · 130 阅读 · 0 评论 -
浅谈JVM
java编译运行过程:编译期:.java源文件,经编译,生成.class字节码文件运行期:JVM加载.class并运行.classJDK、JRE、JVMJVM:java虚拟机加载.class并运行.classJRE:java运行环境除了包含JVM以外还包含运行java程序所必须的环境JRE=JVM+java系统类库JDK:java开发工具包除了包含JRE以外还包含开发...原创 2019-09-17 14:52:55 · 134 阅读 · 0 评论 -
JAVA上传.xlsx及.xls
POIUtil:package com.yss.poi.poi;import lombok.extern.slf4j.Slf4j;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.Row;...原创 2019-09-23 17:01:24 · 1495 阅读 · 1 评论 -
.xlsx及.xls上传问题
合并单元格问题上传的具体实现,参考上一篇文章(https://blog.youkuaiyun.com/y368769/article/details/101213585)xlsx内容:package com.yss.poi.poi;import lombok.extern.slf4j.Slf4j;import org.apache.http.entity.ContentType;import ...原创 2019-09-23 17:44:10 · 801 阅读 · 0 评论 -
TCP/IP 协议
简单说明:一个主机的数据经过哪些过程发送到另一个主机上采用四层结构:应用层、传输层、网络层、链路层总体流程:http发送一个请求,应用层、传输层、网络层、链路层会一次对请求进行包装并携带对应的首部,最后会在链路层生成以太网数据包,数据包会通过物理物质传输到对方主机,接收到数据包之后,会采用对应的协议进行拆包,然后应用程序将数据进行处理物理介质:电信号(0和1)的传输方式,比如说光缆、...原创 2019-10-08 15:16:11 · 194 阅读 · 0 评论 -
TCP三次和四次握手
一个很好的文章:https://www.cnblogs.com/lms0755/p/9053119.html原创 2019-10-08 15:47:09 · 105 阅读 · 0 评论 -
多线程
概述:多线程是可以同时执行多个任务的过程,是一个轻量级的子进程进程和线程的区别:进程是资源分配最小的单元,线程是 程序执行的最小单位进程在执行过程中有独立的内存空间,而多线程是共享内存线程在执行过程中会有一个程序运行的入口、顺序执行序列和程序的出口,但是线程不能够独立运行必须依赖于应用程序,由应用程序提供多个线程执行控制创建一个线程比进程的开销小,占用的资源少一个线程只能属于一个进...原创 2019-10-10 15:08:48 · 308 阅读 · 0 评论 -
Date工具类整理
date 转 Stringpublic static String DateToString(Date date) { if (date != null) { String result = new java.text.SimpleDateFormat("yyyyMMddHHmmss").format(date); return...原创 2019-09-09 16:47:14 · 254 阅读 · 0 评论