
java
文章平均质量分 54
dns007
自我刷新
展开
-
new ScriptEngineManager().getEngineByName(“js“)返回null
new ScriptEngineManager().getEngineByName("js")返回null。网上查了下 说这个镜像是个jre最小环境 没有把Scripting API (Nashorn)打包进去。问题出现的场景:本地开发和生产环境都没问题,测试环境 用的docker 报空指针。排除代码差异,聚焦环境问题。原创 2023-01-12 10:40:06 · 2447 阅读 · 0 评论 -
tomcat lombok 报 Invalid byte tag in constant pool: 19
提供给其他系统使用的jar包造成tomcat启动报错:Unable to process Jar entry [module-info.class] from Jar [jar:file:/xxxxxxxx/lombok-1.18.4.jar!/] for annotationsorg.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19问题信息搜集: 有人给...转载 2020-10-09 20:00:02 · 1566 阅读 · 1 评论 -
一个线程池的简单实现
原理:核心构成: 1.任务(Runnable对象) 2.一个阻塞队列 3.多个工作线程1. 将实现了Runnable接口的类对象 作为任务 放到 阻塞队列2. 阻塞队列作为生产者, 线程列表作为消费者 ,列表中的每个线程消费队列中的任务, 没有任务了则阻塞等待。代码:import java.util.concurrent.BlockingQueue;...转载 2020-01-31 18:23:52 · 148 阅读 · 0 评论 -
spring-core-4.04 源码编译过程记录
spring-core-4.04 源码编译缺少jar包原创 2017-03-22 19:12:35 · 1616 阅读 · 0 评论 -
java检查服务器的联通
通常检查服务器联通 使用ping命令,java代码实现如下:方法一:JAVA里的PING是在JDK 1.5后用了新的函数isreachable()函数去实现,但是结果通常返回false原因:此方法用于测试是否可以达到该地址。实现尽最大努力试图到达主机,但防火墙和服务器配置可能阻塞请求,使其在某些特定的端口可以访问时处于不可到达状态。如果可以获得权限,则典型实现将使用 ICMP E原创 2016-08-25 15:46:07 · 1678 阅读 · 0 评论 -
Quartz nextGivenMinuteDate时间不准
Quartz 设置简单任务在当前时间多少分钟之后执行网上找到如下方法,但是实际运行发现不准确,并不是安装当前时间+15分钟之后运行研究才知道这个函数的真正意思是把一个小时按15分钟(参数多少就是多少)划分,也就是4等份,真正的运行时间所在区间的下一个15分钟运行,例如当前时间是8:02 那么运行时间就是8:15分钟运行 假如当前时间是8:17 那么运行时间是8:30运行D原创 2016-08-26 08:43:53 · 1621 阅读 · 0 评论 -
log4j按日期输出日志的同时限制保存的个数
原文:http://www.shanhh.com/set_max_count_of_log_files_for_log4j/Appender为日志输出目的地, log4j已经提供了非常丰富的Appender用以满足不同的需求:org.apache.log4j.ConsoleAppender 输出到控制台org.apache.log4j.FileAppender 输出到文件org.a转载 2016-12-22 10:24:48 · 11475 阅读 · 1 评论 -
tomcat中class和jar的加载顺序
当我们启动一个tomcat的服务的时候,jar包和claess文件是是以怎么样的顺序被加载进来的? 加载顺序:1. $java_home/lib 目录下的java核心api 2. $java_home/lib/ext 目录下的java扩展jar包3. java -classpath/-Djava.class.path所指的目录下的类与jar包4. $转载 2016-12-29 10:32:50 · 6017 阅读 · 0 评论 -
The method getDispatcherType() is undefined for the type HttpServletRequest
环境:maven 工程 jdk 1.8.0_45 maven :3.0.5 tomcat:8.0.23问题描述:在windows开发环境中打的war包没问题,在linux中打出的包就报错,同样的jdk,同样的maven 百试不爽,不解现象:网上搜索是 jar包冲突:大体意思就是 工程中依赖了(或者是间接依赖)导致引入了2个不同版本的serv原创 2016-12-20 10:19:30 · 849 阅读 · 0 评论 -
HttpClient 连接池使用
原文:http://blog.youkuaiyun.com/shootyou/archive/2011/05/12/6415248.aspx在一次服务器异常的排查过程当中(服务器异常排查的过程我会另起文章),我们决定使用HttpClient4.X替代HttpClient3.X或者HttpConnection。为什么使用HttpClient4?主要是HttpConnection没有连接池的概念,转载 2016-09-13 15:44:40 · 1234 阅读 · 0 评论 -
spring4 aop 带参数表达式报错 error at ::0 formal unbound in pointcut
spring 4.1.0 aop注解方式 带参数正确写法第一种: 切面表达式 注意红色部分要对应参数个数和名字都要对应不然报0 formal unbound in pointcut 错误 另外: 只能用&& 用and 报错 @Pointcut(value = "execution(public int com.spring.aop.impl.ArithmeticCalcul原创 2016-08-09 16:13:11 · 22593 阅读 · 4 评论 -
Spring4之AOP注解配置详解
启动AOP配置 要在 Spring 应用中使用 AspectJ 注解,需要如下支持:1. 在 classpath 下包含 AspectJ 类库:aopalliance.jar、aspectj.weaver.jar 和 spring-aspects.jar2. 将 aop Schema 添加到 Bean 配置文件 根元素中。3. 在 Bean 配置文件中定义转载 2016-08-08 15:36:58 · 16419 阅读 · 2 评论 -
解决Runtime.exec() 无法读取命令输出
关键:输出分2中标准输出和错误输出,获取正确的输出流才能去掉想要的结果原文:http://berdy.iteye.com/blog/810223Runtime 封装着java程序的运行时环境。通过Runtime实例,java应用能够与其运行的环境连接。Runtime在jvm中保持一个单例,所以不能通过Runtime类的构造函数。只能通过Runtime.getRuntime()来获的原创 2016-08-04 10:30:16 · 7591 阅读 · 0 评论 -
org.json与json-lib的区别
[java] view plain copy print?//在www.json.org上公布了很多JAVA下的json解析工具,其中org.json和json-lib比较简单,两者使用上差不多。下面两段源代码是分别使用这两个工具解析和构造JSON的演示程序。 //这是使用json-lib的程序: import JAVA.util.HashMap; impor转载 2016-07-08 08:37:49 · 2229 阅读 · 0 评论 -
解决 js setTimeout 传递带参数的函数无效果
最近 js 用到 setTimeout 递归调用 刷新进度setTimeout ("getProgress(name,type)", 3000)发现getProgress函数 带上参数 就失效了,不带参数可以调用又达不到效果解决办法:匿名函数包装 改成如下即可setTimeout(function(){getProgress(name, type)}, 3000);原创 2016-07-28 10:25:18 · 17018 阅读 · 1 评论 -
jsp页面获取服务器Ip地址
jsp导入 java.util.* 即可调用其中的方法来获取了Server Info<%String SERVER_NAME = request.getServerName();String SERVER_ADDR = request.getLocalAddr();String SERVER_SOFTWARE = getServletContext().getServer原创 2016-05-04 17:40:47 · 16754 阅读 · 1 评论 -
struts2 异常处理
一、处理一般异常(javaBean异常) struts2进行异常处理首先需要添加exception拦截器,而默认拦截器栈已经加入了这个拦截器,所以不用特意的声明。在Struts 2框架中,采用声明式异常处理方式。在这种方式下,只需要在struts.xml文件中进行配置,Struts 2便能够处理异常,并跳转到相应的视图,而在Action中无须编写任何异常处理代码。如果A转载 2016-04-27 14:25:34 · 583 阅读 · 0 评论 -
手动获取SpringBean
最近在做项目的时候我发现一个问题:Spring的IOC容器不能在Web中被引用(或者说不能被任意地引用)。我们在配置文件中让Spring自动装配,但并没有留住ApplicationContext的实例。我们如果希望在我们的项目中任何位置都能拿到同一个ApplicationContext来获取IOC容器中的资源,就要让Spring将上下文环境填充到我们能获取的地方,比如下面的做法(来自网络资源):转载 2016-03-25 10:27:13 · 2836 阅读 · 0 评论 -
java URLClassLoader使用方法和实例
1、首先了解下Java几个加载器的基本原理: Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由 Java 应用开发人员编写的。系统提供的类加载器主要有下面三个: 引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的,并不继承自 java.lang.ClassLoader。转载 2017-01-12 19:18:00 · 971 阅读 · 0 评论 -
Java通过URLClassLoader让程序支持插件扩展
插件(Plugin)是什么不用多说。常用的软件,例如Eclipse、Photoshop、VisualStudio,都支持插件扩展。插件可以动态给软件添加一些功能,也可以随时删除,这样的好处是任何人都可以给这个软件进行功能上的扩展,而不用去改软件本身的代码。适用场景比如需要开发一个系统,用来将一些有数据推送给客户,至于是什么数据不是重点。有三个客户:A客户需要把数据组织成一个xml格式的文件转载 2017-01-12 19:08:46 · 1327 阅读 · 0 评论 -
深入理解spring注解@PropertySource的实现原理
之前文章简单的介绍了一下@Value和@PropertySource注解的使用,没有看过的同学可以点击查看:一分钟学会spring注解之@value注解一分钟学会spring注解之@PropertySource注解今天这篇文章将给大家详细的介绍一下@PropertySource注解实现原理首先让我们一起看下@PropertySource的源码如下:@T...转载 2019-07-04 08:36:13 · 2012 阅读 · 0 评论 -
PDFObject实现pdf文件预览
官方例子:https://pdfobject.com/#examples下面主要解决非固定路径的pdf文件浏览pdf的路径作为参数传入<!DOCTYPE html><html><head> <title>Show PDF</title> <meta charset="utf-8" />...原创 2019-07-03 14:02:42 · 2707 阅读 · 2 评论 -
springboot layui实现带进度条的多文件上传tag
1.tag代码<script type="text/javascript" data-th-inline="javascript"> var xhrOnProgress=function(fun) { xhrOnProgress.onprogress = fun; //绑定监听 //使用闭包实现监听绑 return function() { //通过$.aja...原创 2019-03-15 11:33:23 · 1508 阅读 · 2 评论 -
从jar包中读取资源文件
源链接:http://hxraid.iteye.com/blog/483115#comments 我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。在单独运行的时候这些简单的处理当然不会有问题。但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了。看看下面的代码:Java代码 //源代码1: package edu.hxrai...转载 2019-02-23 11:05:27 · 772 阅读 · 0 评论 -
JVM性能调优
对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数。1.Full GC会对整个堆进行整理,包括Young、Tenured和Perm。Full GC因为需要对整个堆进行回收,所以比较慢,因此应该尽可能减少Full GC的次数。2.导致Full GC的原因1)年老代(Tenured)被写满调优时尽量让对象在新生代GC时被回收、让对象在新生代多存活一段时间和不...转载 2018-12-15 19:17:58 · 656 阅读 · 0 评论 -
重写equals()方法就必须重写hashCode()方法的原因
1.首先了解HashMap工作原理:HashMap由数组+链表组成的,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的,如果定位到的数组位置不含链表(当前entry的next指向null),那么对于查找,添加等操作很快,仅需一次寻址即可;如果定位到的数组包含链表,对于添加操作,其时间复杂度为O(n),首先遍历链表,存在即覆盖,否则新增;对于查找操作来讲,仍需遍历链表,然后通过k...原创 2018-11-30 09:28:56 · 384 阅读 · 0 评论 -
java jna linux导入so动态库及参数对应问题
载入库文件有两个函数,System.load 和 System.loadLibrary。当使用System.load时,需要输入文件的全路径,例如:System.load(“/tmp/test.so”);当使用System.loadlibrary时是在系统的library 的目录中需找复合条件的库文件,可以使用-Djava.library.path=[path]参数,来指定Java程序加载库文件的...原创 2018-06-13 19:39:28 · 4541 阅读 · 0 评论 -
Swing线程之SwingUtilities.invokeLater解释
本文由 ImportNew - fzr 翻译自 cnblogs。欢迎加入翻译小组。转载请见文末要求。译者注:本文其实是一个各方见解评论的总结,已将其中于此处发布不妥的内容去掉,全文内容可查看原文。在官方的文档里:http://docs.oracle.com/javase/tutorial/uiswing/painting/step1.html 告诉我们如何创建一个gui。事件分发线程:Swing中...转载 2018-05-09 16:27:48 · 1771 阅读 · 0 评论 -
J2SE 使用spring初始化activeMq监听
一句话:new 出一个ApplicationContext的实例FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext("config/applicationContext-activeMq.xml");来看下FileSystemXmlApplicationContext 实现public clas...原创 2018-04-19 09:03:54 · 346 阅读 · 0 评论 -
springboot集成 swagger
转自:https://blog.youkuaiyun.com/xxoo00xx00/article/details/77163399搭建环境:1,jdk1.82,idea3,spring-boot-starter-parent版本1.5.6.RELEASE4,springfox-swagger2 And springfox-swagger-ui 版本2.2.21快速环境搭建新建一个工程,file->ne...转载 2018-03-26 14:27:51 · 417 阅读 · 0 评论 -
maven springboot工程 jar包使用ProGuard 混淆代码
1.ProGuard 混淆 只能增加反编译代码的阅读难度,不能根本保护代码安全2.maven工程使用proguard-maven-plugin这个插件3.若工程中包含大量第三方框架,混淆后会报错,所以选择性混淆私有的逻辑代码比较容易,框架代码不混淆添加依赖:<dependency> <groupId>net.sf.proguard</groupId> ...原创 2018-03-01 19:11:18 · 7397 阅读 · 5 评论 -
http请求 url 传递参数(特殊字符)解决方法
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。下表中列出了一些URL特殊符号及编码 十六进制值1.+URL 中+号表示空格%2B2.空格URL中的空格可以用+号或者编码%203./分隔目录和子目录%2F4.?分隔实际的 URL转载 2017-10-31 20:27:32 · 16372 阅读 · 1 评论 -
eclipse导入工程中文乱码问题
eclipse导入工程中文乱码问题eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的。一般默认都是UTF-8或者GBK,当从外部导入的一个工程时,如果该工程的编码方式与eclipse中设置的编码方式不同,就会产生中文的乱码问题,这其中还有几种情况。如果导入的整个工程的编码方式与eclipse的编码方式有冲突,那么这个工程里所有的中文 都是乱码;如果所有工转载 2017-04-14 10:20:15 · 559 阅读 · 0 评论 -
java jar包加密保护解决方案
为什么需要保护?我用java写了一个程序如下:12345678910111213141516171819202122232425package com.monkey.demo;// App.javapublic class App{ static public void main( String args[] ) throws Exception {转载 2017-03-03 19:28:20 · 16869 阅读 · 8 评论 -
MySql jdbc URL 参数及编码说明
mysql JDBC URL格式如下:jdbc:mysql://[host:port]/[database][?参数名1][=参数值1][&参数名2][=参数值2]...现只列举几个重要的参数,如下表所示:参数名称参数说明缺省值最低版本要求user数据库用户名(用于连接数据库)所有版本password用户密码(用于原创 2016-03-24 10:30:08 · 6163 阅读 · 0 评论 -
Java内部类的作用
推荐一、 定义放在一个类的内部的类我们就叫内部类。二、 作用1.内部类可以很好的实现隐藏 一般的非内部类,是不允许有 private 与protected权限的,但内部类可以2.内部类拥有外围类的所有元素的访问权限3.可是实现多重继承4.可以避免修改接口而实现同一个类中两种同名方法的调用。三、 例子1.实现隐藏转载 2016-03-30 17:35:47 · 286 阅读 · 0 评论 -
比较各JAX-RS实现:Jersey,Restlet,CXF,RESTEasy
java rest 实现技术对比:http://news.misuland.com/20080926/1222396399411.html JavaSE/EE执行委员批准了JSR 311 JAX-RS作为支持RESTful web服务的java 应用程序接口。JAX-RS (Java平台上的REST支持规范 - aka JSR-311) 成为第一个到达提议为最终草案阶段的JavaEE转载 2015-06-17 10:50:23 · 6318 阅读 · 0 评论 -
Struts2与Spring整合
Struts2学习笔记——Struts2与Spring整合Struts2与Spring整合后,可以使用Spring的配置文件applicationContext.xml来描述依赖关系,在Struts2的配置文件struts.xml来使用Spring创建的bean。 1、导入依赖包除了导入Struts2和Spring的核心库之外,还要导入commons-logging转载 2015-01-04 11:00:52 · 632 阅读 · 0 评论 -
java调用linux中的shell脚本
原文转载 2014-10-29 14:03:17 · 983 阅读 · 0 评论 -
windows通过VisualVM远程监控linux下的tomcat
从官网http://visualvm.java.net/有英文原创 2014-11-13 17:42:28 · 3732 阅读 · 0 评论