![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后端技术
文章平均质量分 79
后端的基础技术
PiaoMiaoXiaodao
这个作者很懒,什么都没留下…
展开
-
JAVA正则表达式捕获组的使用
从学java开始就没弄清楚过捕获组的用法,一般没有处理复杂字符串的时候也不会去用。之前一直理解错了捕获组的用法,一直以为捕获组是可以循环捕获的我以为的写法是这样的 (组1(组2))* 即组1循环匹配字符串,其实压根不是这样。正确的做法是 捕获组表达式只要匹配最小的一个单元即可 然后通过 循环调用find去一步步推进匹配这里很详细这里是我自己的编写正则时候的工具网络,不是很稳定,...原创 2019-09-30 14:55:32 · 245 阅读 · 0 评论 -
JAVA编码转换备忘录
编码转换真心有点绕,以前只有用到的时候才会去思考,但仍然很迷糊,而且编码问题会时不时的跳出来烦你一下,这次因为所有脚本用的是UTF-8写的跑去用sqlplus 批量执行居然报各种异常… 所以这里决定总结一下,写篇备忘录.1、JVM Unicode编码百度百科:Unicode编码(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统...原创 2019-06-27 10:46:18 · 178 阅读 · 0 评论 -
hibernate-4.23版本对Oracle10gDialect的补充解决分页和nvarchar的支持问题
在使用过程中发现了对oracle的nvarchar的支持问题和分页会有重复数据的问题,通过继承Oracle10gDialect创建自己的方言类,在配置中指定自己的方言来解决import org.hibernate.dialect.Oracle10gDialect;import java.sql.Types;import org.hibernate.dialect.Oracle10gDia...原创 2019-05-15 14:54:44 · 495 阅读 · 0 评论 -
JAVA与js加密解密我常用的方法
常采用的是AES的加密解密方法,再稍微掺杂点随机数JS端//需要引入 aes.js/** * 非规则的aes加密,自己加了字符串 * @param s * @returns */function aesEncode(s) { var key = CryptoJS.enc.Latin1.parse('abcdef0123456789'); var iv = CryptoJS.en...原创 2019-05-14 11:11:12 · 2282 阅读 · 0 评论 -
ehcache各个参数详解
ehcache各个参数详解 -----------------------------------------缓存设置大小-------------------------------------------------------- 缓存大小的限制可以设置在CacheMan...转载 2019-04-16 10:58:17 · 462 阅读 · 0 评论 -
将cron表达式解析成中文,方便客户理解
/** * 描述 * * @author Norton Lai * @created 2019-2-27 下午4:54:36 */public class Test { static final String xin="*"; static final String wenhao="?"; static final String dao="-"; ...原创 2019-02-27 17:47:10 · 4667 阅读 · 2 评论 -
UML类图与类的关系详解
虚线箭头指向依赖;实线箭头指向关联;虚线三角指向接口;实线三角指向父类;空心菱形能分离而独立存在,是聚合;实心菱形精密关联不可分,是组合;上面是UML的语法。在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(A...转载 2019-02-26 15:32:51 · 185 阅读 · 0 评论 -
代码片段,截取CSDN博客
String url ="https://blog.csdn.net/lazy_cpp/article/details/77979634"; org.jsoup.nodes.Document doc = Jsoup.connect(url).validateTLSCertificates(false).ignoreContentType(true).timeout(3000...原创 2019-02-25 11:25:57 · 586 阅读 · 0 评论 -
使用JSch连接一些设备的时候有可能一连接上就被服务器断掉,巨坑!
这是一个坑死人的BUG,我花费了大量的时间去排查,才发现原来就是连接时间默认的设置短了。try { JSch jsch = new JSch(); Logger log = new com.jcraft.jsch.Logger() { public boolean isEnabled(int i) { ...原创 2019-02-21 17:09:22 · 3781 阅读 · 4 评论 -
普通工程转maven工程lib下jar包一次查询dependency
普通工程转maven工程lib下jar包一次查询dependency在将普通工程转maven管理时候头疼的难点之一就是依赖包的导入。这里写了一个直接查询中央maven库的小程序,希望可以减少些麻烦。 使用了网友的代码并做了些改动。package com;import java.io.File;import java.io.FileInputStream;import java.io.F...转载 2019-02-21 17:00:39 · 253 阅读 · 0 评论 -
Springmvc 全局异常处理,返回json字符串
Springmvc已经自带了全局异常处理类HandlerExceptionResolverComposite 实现了接口HandlerExceptionResolver 、OrderedHandlerExceptionResolver 主要定义了异常处理方法 其中 e 就是controller内的方法处理时抛出的异常,也就是我们需要处理的地方 public ModelAndVi...原创 2018-11-28 18:31:54 · 505 阅读 · 0 评论 -
详解HttpURLConnection
请求响应流程设置连接参数的方法setAllowUserInteractionsetDoInputsetDoOutputsetIfModifiedSincesetUseCachessetDefaultAllowUserInteractionsetDefaultUseCaches设置请求头或响应头HTTP请求允许一个key带多个用逗号分开的values,但是HttpURLConn...转载 2018-11-28 14:33:57 · 302 阅读 · 1 评论 -
java管道流的使用疑问Write end dead?
在做一个web日志浏览小工具时候 使用到了java的管道流. 但是使用过程中却一直报了 Write end dead 的异常.我的需求是这样的: 创建好的管道流, 输出流放入 日志的appender 里面,这样log4j 记录日志时候会自动写入,然后我再人为跑一个线程不断去读取管道的输入流, 每当有websocket连接进来时候就将其session放入一个集合,自定义的线程遍历s...原创 2018-08-26 11:57:17 · 1838 阅读 · 1 评论 -
idea发布jar包和源码包到私有maven仓库
首先私有仓库肯定有账号密码 所以必须在自己本机的maven的配置文件 settings.xml里配置对应私有仓库的账号密码<servers> <server> <id>siyou</id> <username>admin</username> <password>adm...原创 2019-12-23 21:23:09 · 1762 阅读 · 0 评论 -
给内网tomcat安装证书让谷歌浏览器信任
最近碰到一个很头疼的事情 内网的tomcat服务器使用的是https协议,之前一直没有发现有什么问题,现在突然发现其他它的前端静态文件从来不走缓存,大概有10M左右的js css文件 居然是每次访问的时候都要去下载,排查了几个小时 本以为是后端静态文件版本控制出了问题,结果最后发现居然是谷歌浏览器的问题. 火狐 IE 即使https 不信任站点一样正常会有缓存 谷歌浏览器的策略居然是 只要非安...原创 2019-12-19 10:45:52 · 1565 阅读 · 7 评论 -
查看jar包支持的jdk版本的小技巧
对jar包进行解压,使用jdk自带反编译指令 javap 对其中任何一个class进行反编译.对javap 加上-v 指令 输出详细信息 再对详细信息进行过滤 只查看版本信息具体命令windows下: javap -v C:/sas/asa/a.class|findstr versionlinux下: javap -v sasa/a.class|grep version结果如下m...原创 2019-09-19 09:40:49 · 1785 阅读 · 0 评论 -
配合tomcat创建服务后用脚本将服务改为开机自启动
tomcat下自带创建系统服务的脚本 service.bat,但脚本只会创建服务,不会设置服务启动类型.还是需要人为去设置.为了尽可能减少非相关专业安装人员的麻烦.我们尽量将软件部署过程自动化.@echo offrem start类型有:boot、system、auto、demand 手动、disabled、delayed-autorem sc config DRAWON start=de...原创 2019-09-02 10:45:59 · 173 阅读 · 0 评论 -
Maven依赖排除 禁止依赖传递 取消依赖的方法
Maven依赖排除 禁止依赖传递 取消依赖的方法 1. 项目间传递 如果我的当前项目是pro...转载 2019-02-26 11:37:22 · 281 阅读 · 0 评论 -
tomcat在linux系统和windows系统制作成服务
将tomcat添加为linux系统服务(网上找的都不全面,这是结合几个资料整理的,我认为的最简单的将tomcat 添加为系统服务,以及开机自动重启的方法)首先需要将$Tomcat_HOME/bin目录下的Catalina.sh脚本复制到目录/etc/init.d中,重命名为tomcat,文件名即为以后的服务名修改刚才复制的tomcat脚本: a. 在脚本的第三行后面插入下面两行# ...转载 2018-12-28 10:13:58 · 182 阅读 · 0 评论 -
java工程中封装静态的log4j日志工具类
一般在web工程或者普通java工程中都会用到日志记录工具,java一般使用的是log4j,用法大都是在每个需要记录日志的类上添加一个私有的日志记录器,记录本类中的异常:如下 private final Logger logger = LoggerFactory.getLogger(Test.class); logger.error(&amp;quot;报错!&amp;quot;, e); logger...原创 2018-08-25 20:13:12 · 2657 阅读 · 0 评论 -
jvm远程调优及注意事项
在catalina.sh启动脚本添加远程jxm服务端口最好使用单独 的CATALINA_OPTS 如果添加到 JAVA_OPTS里会导致关闭时候也检测端口占用,导致想关都关不了.Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 8088; nested ex...原创 2018-12-26 10:54:40 · 284 阅读 · 0 评论 -
java工程中封装静态的log4j日志工具类2
在之前的静态日志类存在一个问题,即始终使用一个日志记录器去记录所有日志,这样可能造成性能瓶颈。地址原本实现这里提供了另一思路,和原始的日志记录一样,每个类拥有自己的 日志记录器,只是这记录器并不需要自己去创建,而是统一创建,且统一管理。例子:/** * 日志工程. * * @author Norton Lai * @created 2018-9-7 下午5:27:56 */p...原创 2018-12-18 10:46:29 · 1556 阅读 · 0 评论 -
java任意对象转换成Date对象
因为数据库等的原因,导致了使用原始sql查询出的日期可能是字符串也可能是数值也可能是date对象,所以写了这个工具方法以解决问题 代码如下正常格式的字符串应该能解析 时间戳支持到秒和到毫秒 如果本身就是date 直接原样返回,其他异常全部返回null/** * 解析字符串日期,不报错 异常返回null * @param d * @param format ...原创 2018-11-27 16:59:09 · 18658 阅读 · 0 评论 -
你可能不知道的几个java小工具
常做Java开发的朋友,不管是做纯后端开发,还是做Java Web开发,有一些操作你一定会经常遇到。比如:列出当前系统上运行了哪些Java应用这些应用的部署路径是什 么某个Java应用的堆内存使用情况等遇到类似的情况,你一般是怎么解决的?我在工作中见过许多人,想要查看当前正在运行的Java应用时,会通过进程管理器(Windows下),或者使用ps -ef | grep java (...转载 2018-11-16 14:17:13 · 212 阅读 · 0 评论 -
阿里监控诊断工具 Arthas 源码原理分析
上个月,阿里开源了 监控与诊断 工具 「 Arthas 」,一款可用于线上问题分析的利器,短期之内收获了大量关注,在 Twitter 上连 Java 官方的 Twitter 也转发了,真的很赞。GitHub 上是这样自述的:Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出...转载 2018-11-16 14:14:02 · 1516 阅读 · 0 评论 -
可执行jar包随系统启动使用bat方式和winsw方式
想让自己制作的jar包跟随系统启动而启动有两种方式:1、制作bat文件 将启动命令放入其中,然后将bat的快捷方式放入系统启动目录,具体如下如我有一个spring boot制作的jar包 放在了D:\developsoft\JDK\cloudterm.jar 的位置,另外本机有多个JDK 此jar包运行的JDK版本偏高,我不想设置环境变量 则 批处理脚本如下cd d: cd D:\de...原创 2018-10-30 10:37:39 · 1143 阅读 · 0 评论 -
高效反射ReflectASM原理学习
ReflectASM原理学习最近学习了静态代理、动态代理等技术,进而知道了ASM jar包, 知道了以此jar包为基础开发的一个高性能的反射包ReflectASM。 想起自己之前写代码的时候使用的都是java自带的反射包对性能有些许浪费, 而这jar包号称几乎直接在代码里调用方法一样的性能,顿时兴起学习之心。ReflectASM有这么神奇吗?使用了反射还能那么高效?打开jar...原创 2018-04-09 19:28:41 · 3151 阅读 · 0 评论 -
一个模仿spring IOC功能的小练习---smallioc
微小型的IOC容器起因起因是由于我在编写工作中需要的GUI小工具时候遇到了很多对象之间引用的麻烦,突然感觉到习惯了spring 带来的IOC的便利后很难回到原始的状态。 我试图把spring中的IOC功能拆分开来,最后得到了将近3M的各种jar包,而我写的代码才100k。spring实在是太强大了,但他也越来越臃肿,而我只想要简单的IOC功能。 最终我决定为自己写一个微型的纯粹的IOC框架,原创 2017-12-24 22:00:28 · 486 阅读 · 0 评论 -
SpringMVC接收json对象时 date对象无法序列化异常的解决办法。
在低版本springMVC中经常出现这种日期转换不支持的异常Caused by: org.codehaus.jackson.map.JsonMappingException: Can not construct instance of java.util.Date from String value '2019-01-14 12:00:01': not a valid representatio...原创 2019-01-14 16:45:25 · 1410 阅读 · 0 评论 -
记录一次Spring事务管理的UnexpectedRollbackException异常解决
异常描述:前端显示异常,业务无法执行下去,应该是回滚了。本机调试查看控制台,只找的到UnexpectedRollbackException 异常 堆栈信息只到spring的事务管理类,没有一个服务层的类。 且具体的导致回滚的异常却找不到。往常如果异常回滚应该会报两个异常,会有一个具体导致回滚的异常。反复断点发现没有任何地方向上抛出过异常。完全没有头绪。解决过程:首先确定肯定是业务中有异常导...原创 2019-01-04 11:27:31 · 551 阅读 · 0 评论