
Java
文章平均质量分 66
雪落夜
十年菜鸡JAVA程序员,热爱技术,热衷分享,没啥成就。
展开
-
【源码解析】Mybatis执行原理
Mybatis中的mapper接口并没有具体实现,是如何执行SQL的?原创 2023-07-19 21:21:52 · 1380 阅读 · 0 评论 -
【实战总结】SpringMVC架构升级SpringCloudAlibaba
【实战总结】SpringMVC架构升级SpringCloudAlibaba原创 2023-07-18 18:02:05 · 809 阅读 · 0 评论 -
【实战总结】Apollo、RocketMQ加载顺序问题
Apollo、RocketMQ加载顺序问题原创 2023-07-08 14:35:32 · 1491 阅读 · 0 评论 -
Thumbnails图片处理库代码分析
Thumbnails图片处理库代码分析,探究压缩系数scale与实际图片压缩比例之间的关系。原创 2023-07-04 22:59:01 · 1848 阅读 · 0 评论 -
Volatile 线程可见性
线程不可见原因:每个线程会将成员变量保存一份备份到各自线程的工作内存,而各线程之间内存是私有的,除非更新到主内存,才会被其他线程看到。原创 2023-03-23 19:45:24 · 169 阅读 · 2 评论 -
RSA加密/解密 Decryption error异常解决
RSA加密/解密 Decryption error异常解决import原创 2018-01-15 10:02:42 · 85351 阅读 · 14 评论 -
pom.xml 报错:Multiple annotations found at this line
Maven项目中pom.xml报错,并且在项目中读取properties失败。解决办法:将Maven所在目录删除,然后重新导入项目,重新生成maven目录。maven目录在Eclipse-Maven-UserSetting中,我的路径是C:\Users\z\.m2\repository,删除文件夹repository后重新import项目即可。原创 2016-12-13 19:09:31 · 5797 阅读 · 0 评论 -
The import XXX cannot be resolved
错误:The import XXX cannot be resolvedimport类的都没问题,但就是报错。选择project --> clean后,OK。如果还不行,删掉全部import,然后按alt+/提示,逐个导入。原创 2016-12-29 11:41:19 · 365 阅读 · 0 评论 -
如何写出优雅的代码
方法对应的是一个行为,每个方法应该独立做一件事,如果要做多件事应该通过调用多个不同方法实现,好的方法应该是高内聚、低耦合。说白了就是别把一大段错综复杂的逻辑都塞到一个方法里,按照行为拆一拆,拆出一些能复用的方法。原创 2023-02-11 00:30:08 · 556 阅读 · 0 评论 -
【实战总结】JVM内存溢出问题排查
这里先说一下结论,堆内存总共3.1G,Suspect1问题指向一个慢SQL,间接导致1.7G内存无法回收,Suspect2 由com.mysql.jdbc.ByteArrayRow导致1.2G内存无法回收,原始sql指向与Suspect1同样的慢SQL,这样就基本可以确定是这一条慢SQL导致的内存溢出。打开MAT,File--->open dump file--->选择本次输出的dump文件,可以看到如下总览页面,点击Leak Suspects查看内存泄露分析。一周前系统有一次投产,之后再没有更新过系统。原创 2023-01-06 00:03:40 · 9015 阅读 · 1 评论 -
MyEclipse在Java文件中设置作者、日期
MyEclipse在Java文件中设置作者、日期等说明:windows(窗口)-Preferences(首选项)-Java-Code Style(代码样式)-Code Templates(代码模版)-右侧Comments(注释)-选择Types(类型)-点击edit(编辑)-输入如下信息/*** @package_name} ${package_name}* @file_n原创 2015-10-16 10:10:09 · 894 阅读 · 0 评论 -
MyEclispe 代码自动提示显示“No Default Proposals”解决方法
(1),Window -> Preferences -> Java -> Editor -> Content Assist -> Advanced 里的「Select the proposal kinds contained in the 'default' content assist list」把Other Java Proposals钩上即可(2),Window -> Pre原创 2016-05-25 22:38:04 · 1195 阅读 · 0 评论 -
java.lang.IllegalArgumentException: Document base D:\apache-tomcat-6.0.45\webapps\项目不存在错误
conf\Catalina\localhost下找到错误信息中对应的配置文件,将其删除原创 2016-05-19 09:43:09 · 3385 阅读 · 0 评论 -
Java/JSP获得客户端网卡MAC地址的三种方法解析
从网上查找资料java/jsp获得客户端(IE)网卡MAC地址的方法大概有三种。1、通过命令方式,在客户端执行Ipconfig 等等2、通过ActiveX的方法3、通过向137的端口发送查询指令的方法 简介:第一种方法,在真正用到时候不知道为什么获得mac地址的指令阻塞了,不往下继续执行。而且速度是这三种方法中最慢的一种。代码如下:S转载 2016-03-01 12:51:45 · 4408 阅读 · 0 评论 -
Filter介绍
Filter介绍:Filter也称之为过滤器,开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。通过Filter技术,开发人员可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦原创 2015-11-02 01:10:22 · 392 阅读 · 0 评论 -
class文件批量反编译
class文件批量反编译软件: DJ Java Decompiler安装好之后,找到它的安装路径,我的是:d:\Program Files\decomp\底下有一个jad.exe文件,将它设置到环境变量path,或者拷到其他已经了环境变量path的地方,或者在cmd中转到此文件目录下。运行DOS命令:jad -o -r -dF:\原创 2015-10-15 19:24:24 · 641 阅读 · 0 评论 -
理解JNDI中 java:comp/env/jdbc/datasource 与 jdbc/datasource 的不同之处。
在描述JNDI,例如获得数据源时,JNDI地址有两种写法,例如同是 jdbc/testDS 数据源:A: java:comp/env/jdbc/testDSB: jdbc/testDS这两种写法,配置的方式也不尽相同,第一种方法应该算是一种利于程序移植或迁移的方法,它的实现与“映射”的概念相同,而B方法,则是一个硬引用。java:comp/env转载 2016-08-03 10:43:05 · 2929 阅读 · 0 评论 -
Tomcat启动时出现java.lang.IllegalArgumentException: Document base D:\apache-tomcat-6.0.45\webapps\XXX doe
java.lang.IllegalArgumentException: Document base D:\apache-tomcat-6.0.45\webapps\erp does not exist or is not a readable directoryat org.apache.naming.resources.FileDirContext.setDocBase(FileDirCon原创 2016-08-03 10:47:30 · 6534 阅读 · 1 评论 -
日期字符串格式化
SimpleDateFormat函数语法: G 年代标志符 y 年 M 月 d 日 h 时 在上午或下午 (1~12) H 时 在一天中 (0~23) m 分 s 秒 S 毫秒 E 星期 D 一年中的第几天 F 一月中第几个星期几 w 一年中第几个星期 W 一月中第几个星期 a 上午 / 下午 标记符原创 2017-02-27 14:13:04 · 4897 阅读 · 0 评论 -
使用spring注入时出现is not writable or has an invalid setter method
在web-application-config.xml中定义 结果,运行时出错:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'employeeServiceDest' defined in ServletCont原创 2016-11-25 08:40:31 · 10579 阅读 · 0 评论 -
Tomcat的context.xml说明、Context标签讲解
http://elf8848.iteye.com/blog/19317771. 在tomcat 5.5之前---------------------------------------------------------------Context体现在/conf/server.xml中的Host里的元素,它由Context接口定义。每个单个Web应用Xml代转载 2016-10-20 11:11:39 · 6180 阅读 · 1 评论 -
程序中的@Override是什么意思?
@Override是Java5的元数据,自动加上去的一个标志,告诉你说下面这个方法是从父类/接口 继承过来的,需要你重写一次,这样就可以方便你阅读,也不怕会忘记 @Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 1>可以当注释用,方便阅读 2>编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错 比如你原创 2016-10-13 08:40:32 · 1165 阅读 · 0 评论 -
struts.xml报异常Document is invalid: no grammar found.
因struts.xml缺少了一部分代码: "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">异常如下:严重: Document is invalid: no grammar found.原创 2016-08-12 13:03:09 · 1997 阅读 · 0 评论 -
Eclipse注释快捷键
选中注释的行,ctrl + shift + //* List lists = new ArrayList(); lists = UserDao.search(); pageContext.setAttribute("emplist", lists); */选中注释的行,ctrl + shfit + c;// List lists = new ArrayList()原创 2015-10-16 11:03:05 · 288 阅读 · 0 评论 -
利用批处理文件编译java文件到指定的文件目录。
批处理文件 compile.bat的内容:set classpath=C:\Program Files\apache-tomcat-7.0.52\lib\servlet-api.jar;%classpath%javac -d D:\test %1pause通过拖动java文件到批处理文件上,编译java文件到指定的文件目录。原创 2014-06-13 11:11:09 · 495 阅读 · 0 评论 -
JDBC连接各种数据库方法
1、Oracle8/8i/9i数据库(thin模式) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID String user="test";转载 2014-03-28 17:07:55 · 306 阅读 · 0 评论 -
DBCon
package db;import java.sql.*;import action.LoginForm;public class DBCon {static String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=L";static String user=原创 2014-04-10 18:49:43 · 669 阅读 · 0 评论 -
异常java.lang.UnsupportedOperationException
严重: 此驱动程序不支持 Java Runtime Environment (JRE) 1.7 版。请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库。java.lang.UnsupportedOperationException: 此驱动程序不支持 Java Runtime Environment (JRE) 1.7 版。请使用支持 JDBC 4.0 的 sqljdbc4.ja原创 2014-04-11 21:48:53 · 1220 阅读 · 0 评论 -
使用JDBC时Class.forName()的作用
本文转自http://dustin.iteye.com/blog/44291使用JDBC时,我们都会很自然得使用下列语句:java 代码Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://127.0.0.1/test?useUnicode=true&characterE转载 2014-03-28 17:25:58 · 397 阅读 · 0 评论 -
JRE1.7使用SQLJDBC4连接SQLServer2005的注意问题
2011年7月,微软发布了最新的JDBC驱动:Microsoft JDBC Driver 4.0 forSQL Server Community Technical Preview (CTP),这个驱动在配合JRE1.7使用时要注意以下几点,现在贴出来分享我的经验:第一点:这一点相信大家都熟悉的,就是环境设置问题,但还在这里提出来是因为它太重要了,所以有必要将它搞清楚。环境变量path转载 2014-04-11 18:04:02 · 977 阅读 · 0 评论 -
Struts功能详解——Action
Action是struts中的一个抽象类,它其实是Struts的心脏部分,前面提到的ActionServlet和ActionForm进过处理获取的请求和数据,都会到达Action中得到分发。一:Action有那些作用可以进行一些表单数据的检查,这里面的检查一般和页面的检查是不一样的,页面的检查都是客户端的一些数据格式规范的检查,这里的检查而与业务相关的检查一般放到这里面检查,比如与Ja转载 2014-03-27 12:43:01 · 548 阅读 · 0 评论 -
Servlet跳转jsp并将list传给jsp
Servlet将list传给jsp,类似jsp中的pageContext.setAttribute("emplist", lists);protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO A原创 2015-10-16 11:19:00 · 6018 阅读 · 0 评论 -
JDBC链接sqlserver数据库
1、下载Microsoft JDBC Driver 4.0 for SQL Server在这里下载:http://www.microsoft.com/zh-cn/download/details.aspx?id=117744.0版本支持的 SQL Server有:Microsoft®SQL Server® 2012Microsoft®SQL Server® 2008原创 2015-09-29 22:33:11 · 495 阅读 · 0 评论 -
Eclipse Building Workspace 速度慢解决办法
MyEclipse - 解决 MyEclipse build workspace慢,validation javascript更慢的问题 http://blog.163.com/jong_cai/blog/static/8702804520131117815/Eclipse Building Workspace 速度慢解决办法http://blog.youkuaiyun.com/jodan1转载 2015-10-15 19:47:02 · 11818 阅读 · 0 评论 -
Java项目打war包
DOS命令进入到项目目录中执行 jar -cvf 包名.war ./*原创 2015-10-14 19:09:43 · 390 阅读 · 0 评论 -
Eclipse自动提示
Window-Preferences-Java-Editor-Content AssistAuto Activation delay 表示提示延迟时间Auto Activation triggers for java 表示输入哪些字符可以自动提示,默认是点,把所有的字母都输上,就可以在输入字母的时候自动提示。原创 2015-10-26 22:00:36 · 228 阅读 · 0 评论 -
Java Web项目中文乱码
中文乱码原理:浏览器接收到的中文字符并不是中文符号本身,而是它的某种字符集编码的数据。浏览器必须使用正确的字符集编码进行查看,才能将它所接收到的数据显示为正确的中文字符。乱码分类:乱码分为,请求乱码和响应乱码 其中请求乱码有分为get乱码和post乱码 。解决方法:请求乱码:get乱码:new String(request.getParame原创 2015-10-27 00:41:03 · 306 阅读 · 0 评论 -
会话跟踪 session
会话跟踪概念:java Servlet使用session来跟踪和管理会话内的状态。利用session,服务器可以把一个客户的所有请求联系起来,并记住客户的操作状态。当客户第一次连接到服务器时,服务器为其建立一个session对象,并分配给客户一个唯一的标识( sessionID),以后客户每一次请求都要将这个标识一起提交。服务器根据这个特定的标识找到特定的session对象原创 2015-10-27 12:31:06 · 561 阅读 · 0 评论 -
中文乱码问题
Form表单提交Servlet乱码在Servlet的doPost方法中添加 request.setCharacterEncoding("UTF-8");protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {原创 2015-10-18 22:34:37 · 355 阅读 · 0 评论 -
eclipse提示Syntax error, insert “EnumBody” to complete EnumDeclaration
eclipse提示Syntax error, insert “EnumBody” to complete EnumDeclaration从网上复制下面代码没注意看格式,把行号也带上了,去掉序号代码就正常了public class Screen 2 { 3 public static void main(String[] args) 4 { 5原创 2015-10-19 11:24:43 · 22223 阅读 · 1 评论