
JAVA
文章平均质量分 72
JAVA
独行侠_阿涛
2015年211院校毕业,于2020年考取软考高级证书-系统架构设计师,高分通过(61-64-52)。毕业前6年,一直专注于技术全面开花,有python/Node/Java/Elk系列等项目开发经验;熟悉搜索引擎解决海量数据搜索问题,Node代替Java开发服务后端,python自动化程序编写。目前持续沉淀过去的知识,陆续推出前端0+1专栏,容器技术等专栏,目前正在更新ELK7.2。
展开
-
基于bat+jad.exe实现jar包批量反编译
不耗时,不费力,简单好用,看过来!!最近遇到一个问题:考虑这么一个背景,想起之前idea和eclipse可以利用jad.exe实现代码反编译。于是从这一个角度入手,设计了一个基于bat脚本+jad.exe的批量jar反编译工具。首先回顾下,如何使用jad.exe来反编译一个jar包呢:上面这句话的意思很好理解:其中-o -r -s是jad的命令的参数,我将官方的释义贴出来:2 bat实现jar遍历第一步完工之后,解压单个的jar包就没啥难度了,现在就是要批量反编译。在不引入其他的工具的前提下原创 2022-07-13 20:51:21 · 2154 阅读 · 0 评论 -
[JAVA-编码] 3 java编译文件的编码
会有如题的思考,是因为我一直有一个疑问java文件的编码会影响字符串的编码嘛?因此自然而然就想到了java编译后的文件的编码。手动建立一个java文件Demo.java,并保存。此时Demo.java文件的编码为ANSI,中文操作系统下就是GBK。然后使用javac命令来编译该源文件。Javac也需要读取java文件,那么javac是使用什么编码来解码我们读取的字节呢?其实javac采用了操作系统默认的GBK编码解码我们读取的字节,这个编码正好也是Demo.java文件的编码,二者一致,所以不会出现乱原创 2022-06-22 18:06:00 · 971 阅读 · 0 评论 -
[JAVA-编码] 2 文件编码、字符串编码
文件编码和字符串编码是我们最常听到的两个概念。比如我们的.java文件我们需要设置文件编码,不然可能不能正常在ide里头打开。再比如字符串编码,字符串编码经常会涉及到乱码问题。如下:上图只是简单的罗列了一个读取文件到内存中的流程。但是却涉及到了比较多的知识点在里头。文件编码取决于保存文件时候设置的编码格式,比如我们使用notepad++创建一个a.txt文件,往里头写入“我爱中国”四个汉字,并且保存a.txt文件,此时a.txt的文件的编码取决于当前的操作系统类型:中文操作系统下就是GBK编码,那么此时a.原创 2022-06-22 17:40:35 · 652 阅读 · 0 评论 -
[JAVA-编码] 1 编码概念
下午遇到一个编码问题。虽然按照解题思路,问题最终肯定可以被我解决(最终被同事半路截胡),但是整个分析问题的过程耽误太久。因此就想花点时间,整理这个模块的相关内容。引用百度百科:谈一谈,我对编码的认识吧。早期,中文汉字是不能在电脑上正确显示的,就是因为没有中文汉字的编码导致的。可以这样理解每个国家的语言文字想要在电脑上显示,就需要有这种语言的显示规则,而这个显示规则就是这种语言的编码方式。而中文的编码方式有早期的GB2312到后面的GBK以及现在各种语言通用的编码方式UTF-8。注意这边的GBK/GB2312原创 2022-06-22 17:00:52 · 318 阅读 · 0 评论 -
Spring @Value 用法小结,#与$的区别
文章转载自:http://www.cnblogs.com/larryzeal/p/5910149.html起因一直的用法是 @Value("${jdbc.driverClass}") 这样,但在Spring官方文档里又看到 @Value("#{a.b}")的用法。于是研究了下。结论@Value的值有两类:① ${ property : default_value }转载 2017-04-01 11:09:00 · 6643 阅读 · 0 评论 -
restTemplate采用注入的方式偶发性出现:Can not deserialize instance of java.lang.String out...
通过下列方式引用restTemplate,会出现Can not deserialize instance of java.lang.String out of START_OBJECT token的异常@Autowiredprivate RestTemplate restTemplate错误示例:restTemplate.postForObject(url, null, String....原创 2019-04-18 00:21:57 · 2096 阅读 · 0 评论 -
@Controller @RestController
@RestController的意思就是controller里面的方法都以json格式输出,不用再写什么jackjson配置的了1)@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。2)如果需要返回到指定页面原创 2017-04-01 11:16:53 · 749 阅读 · 0 评论 -
springboot入门搭建
本篇文章讲述springboot搭建,从maven安装开始说起。笔者有个习惯,就是学习一个技术,都是先从demo看起来,然后再深入去学习。所以每次接触一个新技术,我都会习惯性的去搭建可以用的小demo。所以新手学习找demo,一定要找同样是新手总结的教程,因为他们总结的教程更细。下面是详细的教程:1、maven安装1)maven安装,首先需要从官网下载maven文件:http://mirrors.h原创 2017-03-31 11:41:06 · 578 阅读 · 2 评论 -
springboot jsp mybatis 实例
一个新的工具出来,肯定是可以帮助我们解决现有的问题,或者可以从另一个角度重构我们现有的项目。于是,笔者就吃饱了撑着,摆弄了半天,利用springboot开发一个工程项目。这个项目包含有jsp页面,ajax请求,controller层参数接收,读取配置文件数据,调用mybatis框架,数据存取进入mybatis数据库。个人感觉挺完整的。后续会加入mq,redis,swagger之类的。请关注原创 2017-04-06 15:06:15 · 1084 阅读 · 1 评论 -
Nacos结合SpringBoot问题集锦
问题按照官网的nacos和springboot的教程,测试了配置管理和服务管理。使用的springboot版本是由idea生成maven项目适合自动选用的最新的springboot版本2.4.5。配置管理:按照官网的教程,没有任何的问题,其中使用的nacos-config-spring-boot-starter版本是0.2.1 服务管理:按照官网的教程,问题出现了,其中使用的nacos-discovery-spring-boot-starter版本是0.2.1错误信息如下:Caused原创 2021-05-18 11:40:19 · 2040 阅读 · 2 评论 -
springboot redis
作为一个人新人,我是发现了 ,单独学习一个技术好像都挺简单的,但是只要跟springboot集成就不简单。 springboot和redis的整合,笔者主要困难点在两个地方。 1、springboot的redis依赖引入之后工程就是要报错。 2、springboot的redis第一个实例配置很痛苦。springboot集成redis–pompom文件添加redis的依赖: <!原创 2017-04-07 21:47:40 · 651 阅读 · 0 评论 -
springboot restful风格
今天稍微研究了下rest,不是写代码,只是看文字。是的,不是写代码,只是理解,rest不是框架,不像mvc是种框架,它就只是一个规范,一种理念,一种风格--这些都是笔者站在小白的高度得出的理解。rest是一种规范,满足rest风格的,就是restful风格的框架。体现在很多地方,刚好这几天在玩springboot,就用springboot来举例子吧。基于之前,我分享的springb原创 2017-04-01 18:25:36 · 2139 阅读 · 2 评论 -
springboot jsp报错:No Java compiler available
springboot整合jsp,网上已经有好多好多教程了。笔者重点分享下pom的配置吧。因为报错都是pom文件和application.properties文件没有一一对应匹配好导致的。正确的pom配置:备注:有些教程说provided要全文去掉,但是笔者尝试了下,好像没去掉也不会有什么问题。 4.0.0 com.neo springBoot 0.0.1-SNA原创 2017-04-01 10:51:12 · 4453 阅读 · 1 评论 -
springboot2.0.1整合axis调用webservice服务异常
前提idea开发工具,基于maven管理依赖背景这两天在做公司的项目的架构升级,旧版:springboot1.3.1+jpa,新版:springboot2.0.1+mybatis-plus扫地僧就想着现在springboot稳定版都出来好久了,干嘛还用这么旧的呢。于是,撸起袖子就是一阵噼里啪啦的干。好。升级完了。出现问题运行,好,一堆的错误。不过都是...原创 2019-05-16 16:49:21 · 3377 阅读 · 2 评论 -
相同域名,导致cookie冲突
现象:多个系统部署同一台服务器,如果有用到cookie-session,会出现cookie冲突情况,导致先登入的系统被后登入的系统自动覆盖cookie的jsessionid,而导致session失效。解决方法:手动设置jsessionid的name具体措施:[默认系统基于springboot开发]直接给系统添加如下配置类,无需其他操作,上述问题即解决:import org.sp...原创 2018-11-29 09:07:18 · 4907 阅读 · 0 评论 -
springboot多数据源(mybatis)
笔者在最近的学习过程中,又整理了下springboot数据源的问题。平常我们用原生jdbc,或者是使用spring的jdbc,或者是jndi的jdbc对于多数据源的配置还是比较简单的。但是springboot的多数据源,因为比较陌生,所以就有点难了。 此次分享的多数据源是springboot集成了mybatis框架的基础上进行的。 **1、单个数据源** 平常接触比较多的还是单一数据源,单一数原创 2017-04-06 19:02:09 · 478 阅读 · 0 评论 -
spring 数据源-AbstractRoutingDataSource
对spring动态数据源核心类《AbstractRoutingDataSource》的理解:下面的代码,是笔者复制出AbstractRoutingDataSource 源码,标注上自己的对每个属性或者方法的理解:package com.wlt.core.common.dynamicdb;import java.sql.Connection;import java.sql.SQLExcepti...原创 2018-03-06 17:34:53 · 809 阅读 · 0 评论 -
Spring基于aop多数据源切换
笔者之前论述过《spring 数据源-AbstractRoutingDataSource 》基于这个,我们只要保证,每次切换数据源,改变lookupkey就好了,具体思路就是创建一个AbstractRoutingDataSource 的子类,实现抽象方法determineCurrentLookupKey,每次修改数据源,就是让determineCurrentLookupKey返回不同的lookup...原创 2018-03-08 17:01:50 · 1759 阅读 · 0 评论 -
spring之jndi数据源配置
上一篇:Spring基于aop多数据源切换 jndi理解 JNDI是Java Naming and Directory Interface(JAVA命名和目录接口)的英文简写,它是为JAVA应用程序提供命名和目录访问服务的API(Application Programing Interface,应用程序编程接口)。命名的概念与应用 JNDI中的命名(Naming)...原创 2018-03-13 09:38:25 · 1658 阅读 · 0 评论 -
spring手动获取容器中的bean
只需要定义一个bean,这个bean继承ApplicationContextAware如下:public class SpringContextHolder implements ApplicationContextAware { private static ApplicationContext applicationContext = null; /** ...原创 2018-02-19 12:04:31 · 1778 阅读 · 0 评论 -
springsecurity初探
默认的springsecurity过滤器链-登入流程uml图解:整个springsecurity的过滤器链,我比较关系的有如下几个过滤器类:1.UserDetailsService-作用:根据当前的登入用户名,获取到该用户的权限和用户信息,并存入securitycontext里头2.FilterInvocationSecurityMetadataSource-作用:资源数据定义,将原创 2018-02-02 11:48:28 · 372 阅读 · 0 评论 -
office文档转成pdf的两种方案
问题开发过程,需要将批量的office文档,包括word文档(doc,docx),ppt文档(ppt,pptx),excel文档(xls,xlsx)等转成pdf,以此来实现预览。市面上常用的方案包括有openoffice,libreoffice等。openoffice其中openoffice是一个软件,需要在服务器上安装该软件,然后通过命令的形式调用openoffice转换组件(我是在java里头使用),来实现转换。虽然可行,但是问题也是存在的。使用久了,容易在后台运行多个openoffic原创 2021-05-13 14:47:13 · 1759 阅读 · 0 评论 -
http https 原生实现 restTemplate实现
http请求 通常用httpclienthttps请求 通常是基于httpclient的基础上自建信任中心下面分享两种实现方式:原生实现<<<>>>RestTemplate实现(基于下载远程文件的例子)原生的实现方案:大体思路:判断url是否以https开头1、是-->>https请求>>构建安全证书方式1>>构建安全证书方式...原创 2018-07-09 21:28:17 · 4799 阅读 · 0 评论 -
史上最强Java生成chm的教程(下)
前言上一篇-史上最强Java生成chm的教程(上)已经分享了生成chm的整个逻辑了。现在剩下的就是如何应用这个逻辑,在不同的语言里头去实现了。沿用案例:功能分析从上面截图,不难看出,我生成的chm的节点是一个树状的节点:有父节点、有子节点。所以数据结构设计上就要考虑这种多层嵌套关系了。 其次,每个叶子节点,点击的时候,需要在右边展示对应的文章内容。因此节点还需要由文章内容的属性。综上,代码应该按照逻辑顺序可以分成如下几个模块:数据结构模块 树状节点数据设计(测试数据只是静态原创 2021-05-19 18:10:06 · 963 阅读 · 1 评论 -
史上最强Java生成chm的教程(上)
目录前言转折技术论证案例hhphhchhk节点准备注意1.html2.html生成chm软件环境必备插件生成chm搜索前言这篇文章其实三年前就想写了,因为当时我自己也遇到了需要通过java生成chm的诉求。自己也是查遍了网上的几乎所有的资料:所有的国内的网站的资料 能触摸的到的外网资料 微软被我翻了一个底朝天 历时3天上面描述的是我为了找到Java生成chm所做的努力。但是尽管如此,仍然没有找到。后面在网上的一个角.原创 2021-05-19 11:00:00 · 3170 阅读 · 2 评论 -
ftp和sftp
不管是ftp还是sftp都要引入下面的第三方jar包 <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.54</v...原创 2018-03-12 21:48:22 · 705 阅读 · 0 评论 -
java直接生成chm
最近做了一个项目,需要将树结构的文档生成chm,心得很多。最终通过参考几个成熟的软件,做成了java自动化生成chm文件的功能。在想有没有人有同样的需求。如果有的话,请留言,留言数超过20,我就立马更新整个详细流程。...原创 2020-04-14 23:14:55 · 2146 阅读 · 11 评论 -
mybatis的mapper.xml放在src/main/java下打包时候找不到
不知道有没有同学遇到这么一种情况,当然这种情况是很早以前的事情的了:1、基于maven+mybatis搭建一个项目,然后mybatis的mapper的xml放在了src/main/java的目录下的子目录,然后打包的时候,发现这些xml文件都不见了。这种情况是这样的,maven打包的时候默认打包src/main/java下的class文件,打包src/main/resources下的配置文...原创 2019-06-25 14:19:01 · 3149 阅读 · 1 评论 -
maven命令解释
mvn clean package -P dev -DskipTests表示:执行maven命令--》先执行mvn clean,删除之前编译的文件--》再执行mvn package,进行工程打包操作--》在打包的时候跳过test文件夹和文件--》打包时候,使用dev环境,效果类似:activation> activeByDefault>trueactiveByDef原创 2018-01-26 11:13:35 · 333 阅读 · 1 评论 -
idea编译时候,jdk会自动切换到1.5;未设定maven项目编码导致报错缺少必要符号
今天在DOS下执行mvn compile命令时报错说缺少必要符号,事实上根本就没有缺少,但何以如此呢,为啥eclipse在编译时就没有这问题呢?原因是编码的问题造成的!eclipse在编译的使用使用的是UTF-8,因为整个项目设置的是UTF-8格式编码。当在DOS下执行mvn compile命令时,默认使用的是系统的GBK格式编码。再一个项目导入的时候,明明设定了jdk1.8,但是还是...原创 2018-01-26 11:51:56 · 1885 阅读 · 0 评论 -
Execution make-assembly of goal org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:single fai
问题使用assembly来打包maven工程成可执行的jar包过程,报错了。错误信息如下:Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:single (make-assembly) on project convertPdf: Execution make-assembly of goal org.apache.maven.plugins:maven-assembly-plugin原创 2021-05-13 14:03:48 · 1911 阅读 · 0 评论 -
idea搭建springmvc+maven
Idea搭建springmvc+maven,好几次搭建都是想要借助工具一步到位,直接生成springmvc+maven模版实验证实暂时没办法。要么只能一步生成spring模版,要么一步生成mave的webapp模版,两个结合暂时做不到。曲线救国方式如下:1、 先搭建maven工程2、 手动添加springmvc的依赖和配置文件:包括web.xml,spring.原创 2018-01-25 16:54:04 · 499 阅读 · 0 评论 -
maven动态替换配置文件el表达式
不同环境下,会有不同的配置文件内容。动态的对这些参数进行赋值非常重要。maven就提供了这么一个功能。在pom.xml文件中,build节点下,添加resources节点,可以配置要过滤的文件,下面的配置表示:对src/main/resources这个目录下的所有.properties、.xml、.ini文件里头的变量进行替换文件,<build> <finalName>...原创 2018-01-26 11:00:01 · 960 阅读 · 0 评论 -
dubbo-Duplicate application configs
今天配置dubbo发现一个问题,原来dubbo的节点重复配置的问题:问题:java.lang.IllegalStateException: Duplicate application configs: application name="dubbo" id="dubbo" /> and application name="dubbo" id="dubbo1" />问题出现背景:原创 2018-02-05 11:45:24 · 4966 阅读 · 0 评论 -
编码获取dubbo服务
官方API:点击打开链接2018-3-2更新注册中心对象和代理服务对象都设置了group和version属性,修正:注册中心对象去除设置group和version属性;DubboFactory.java修正点:1、删除business 代表dubbo服务代理对象存在缓存里的key2、去除getRegistryConfig方法里头对注册中心的version和group属性的设置3、getRefere...原创 2018-02-20 21:54:17 · 3091 阅读 · 1 评论 -
websocket搭建
今天,随手尝试了下websocket的搭建。发现还是蛮不好弄的。websocket是啥,就是实现实时通信的一种方式,是一种长连接的http协议。平常,我们做在线聊天室会用到。不过我们平常更常用的是通过ajax的轮询进行实现。但是显然ajax定时请求后台,耗时耗力。废话太多了,直接贴上,怎么实习WEBSOCKET搭建吧。demo源码我已经上传到了csdn的资源库了,url: 我是demo...原创 2017-03-23 18:26:09 · 2430 阅读 · 0 评论 -
websocket长连接+redis消息订阅和发布
1、普通的消息订阅和推送,比较简单,对于订阅人员来说只订阅了一个频道,大概流程图如下:2、复杂一点的就是:一个订阅人员可以订阅不同的频道,也就是频道可以切换,流程图如下:3、笔者用web工程大概实现了一下:废话不多说,直接上代码:点击下载注意事项:websocket的访问url格式:ws:8080/servername这种urlpattern,很可能被web.xml配置原创 2018-01-25 17:31:12 · 12993 阅读 · 0 评论 -
final修饰符
1、final修饰类当关键字Final用来修饰类时候,其含义就是不能派生新的子类了,也就是说任何其他类都不能继承用Final修饰的类。那什么时候应该使用Final修饰类呢?答:只有当需要确保类中的所有方法都不被重写时才应该建议最终类(Final),Final关键字将为这些方法提供安全,没有任何人能够重写Final类中的方法,因为不能继承。2、final修饰方法当用Final关键字修饰方法后,该方法...原创 2018-02-16 21:47:01 · 261 阅读 · 0 评论 -
类的初始化时机
3 何时开始类的初始化什么情况下需要开始类加载过程的第一个阶段:"加载"。虚拟机规范中并没强行约束,这点可以交给虚拟机的的具体实现自由把握,但是对于初始化阶段虚拟机规范是严格规定了如下几种情况,如果类未初始化会对类进行初始化。创建类的实例访问类的静态变量(除常量【被final修辞的静态变量】原因:常量一种特殊的变量,因为编译器把他们当作值(value)而不是域(field)来对待。如果你的代码中用...原创 2018-02-18 23:17:16 · 437 阅读 · 0 评论 -
枚举Enum
1、枚举enum,由Enum声明定义的类型就是一个类,就是class,而且是一个不可以被继承的final类。2、所有的枚举类都是Enum的一个子类,继承了Enum的方法。3、枚举类的所有的枚举值都是类静态常量,枚举值默认缺省:public static final M extends Enum,如: public enum Color{ RED}:RED其实是public static fina...原创 2018-03-07 16:39:50 · 277 阅读 · 0 评论