
JavaWeb 进阶
文章平均质量分 54
稚枭天卓
manu
展开
-
Minor GC、Major GC和Full GC之间的区别
Minor GC从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC。这一定义既清晰又易于理解。但是,当发生Minor GC事件的时候,有一些有趣的地方需要注意到:当 JVM 无法为一个新的对象分配空间时会触发 Minor GC,比如当 Eden 区满了。所以分配率越高,越频繁执行 Minor GC。内存池被填满的时候,其中的内容全部会被复制,指针...原创 2019-09-17 23:18:50 · 178 阅读 · 0 评论 -
定时任务 quartz CronExpression 表达式
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。按顺序依次为:1.秒(0~59)2.分钟(0~59)3.小时(0~23)4.天(月)(0~31,但是你需要考虑你月的天数)5.月(0~11)6.天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)7.年份(1970-2099)其中每个元素可以是一个值(如6),一个连续区间(9-12),一原创 2017-06-23 20:59:45 · 574 阅读 · 0 评论 -
String Date Calendar之间的转换
1.Calendar 转化 String Calendar calendat = Calendar.getInstance();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");String dateStr = sdf.format(calendar.getTime()); 2.String 转化Calendar原创 2017-06-23 20:58:01 · 5657 阅读 · 0 评论 -
MYSQL 在字段里现有内容后面添加字符串
更新一个字段,在它的后面加一个字符串,不查询数据库得到这个字段值 怎么添加?? 我的test表,有个user字段,我现在想在它后面加了另一个用户的名字 我在mysql数据库这样写UPDATE test SET user= user+ ',phpchina' WHERE id= '2'; 这样是不对的,mysql数据库把它当成数字相加了原创 2017-07-12 22:02:48 · 18910 阅读 · 0 评论 -
MySQL 查询某字段的多条结果展示成按逗号隔开
MySQL 查询某字段的多条结果显示成按逗号隔开有表:tel字段:id tel 1 13578945620 2 13578945621 3 13578945622 4 13578945623 5 13578945624查询tel字段,出现的结果是这样的:13578945620,13578945621,13578945622,13578945623,13578原创 2017-07-03 20:42:32 · 2191 阅读 · 0 评论 -
JAVA 之 使用 POI 导出 Excel (二)
导出列表,主要分为两个步骤,(1)下载到服务器端;(2)从服务器端将文件 down 到 浏览器端;步骤(1)已经在 JAVA 之 使用 POI 导出 Excel (一) 中给出,详见 http://blog.youkuaiyun.com/u013630349/article/details/72824419。 其中需要注意的点有如下几个 1. 在服务器端检索生成代码文件夹 out ; 2. 创建和检测文原创 2017-06-07 21:07:29 · 390 阅读 · 0 评论 -
Spring+Hibernate下配置Hibernate二级缓存EhCache
什么样的数据适合存放到第二级缓存中? 1 很少被修改的数据 2 不是很重要的数据,允许出现偶尔并发的数据 3 不会被并发访问的数据 4 参考数据,指的是供应用参考的常量数据,它的实例数目有限,它的实例会被许多其他类的实例引用,实例极少或者从来不会被修改。 假设类A为持久化对象,对应表为tableA,这里没有考虑A和其他表关联的情况。在spring下配置使用二级缓存:<property nam原创 2017-06-05 16:04:32 · 917 阅读 · 0 评论 -
Intellij Idea 创建 Maven 工程
Maven 两个特点 1. 更加方便快捷的添加依赖的 JAR 包 ; 2. 规范了整个项目的文件目录结构 ;怎么安装配置 Maven 常用的开发工具Idea、MyEclipse里面都已经集成了Maven了,不过最好是从官网下一个配置到自己电脑里,开发工具里的可能有少许的Bug。 首先去Maven官网,下载Maven的包,地址为http://maven.apache.org/download.原创 2017-06-02 18:14:11 · 844 阅读 · 0 评论 -
JAVA 之 file 的 getPath、getAbsolutePath和getCanonicalPath的不同
getPath():返回的是定义时的路径,可能是相对路径,也可能是绝对路径,这个取决于定义时用的是相对路径还是绝对路径。如果定义时用的是绝对路径,那么使用getPath()返回的结果跟用getAbsolutePath()返回的结果一样getAbsolutePath():返回的是定义时的路径对应的相对路径,但不会处理“.”和“..”的情况getCanonicalPath():返回原创 2017-06-01 16:41:03 · 588 阅读 · 0 评论 -
BufferedReader 读取 UTF-8 文件中文乱码
读取 txt 文件乱码:BufferedReader read = new BufferedReader(new FileReader(new File(filenameString)));解决乱码代码示例:InputStreamReader isr = new InputStreamReader(new FileInputStream(filenameString), "UTF-8"原创 2017-09-19 10:27:27 · 4696 阅读 · 0 评论 -
BeanUtils 工具 copyProperties 拷贝对象
java bean拷贝操作又一个非常好用的工具类 BeanUitls :spring (org.springframework.beans.BeanUtils)和apache commons-beanutils(org.apache.commons.beanutils.BeanUtils)中分别存在一个BeanUtils,提供了对。特别注意 这两个类在不同的包下面,而这两个类的copyPr原创 2017-09-22 16:44:58 · 2447 阅读 · 0 评论 -
使用 getResource 获取文件路径
Java中取资源时,经常用到Class.getResource和ClassLoader.getResource,这里来看看他们在取资源文件时候的路径问题。Class.getResource(String path)path不以’/'开头时,默认是从此类所在的包下取资源;path 以’/'开头时,则是从ClassPath根下获取;什么意思呢?看下面这段代码的输出结果就明白了:原创 2017-09-22 16:48:09 · 5312 阅读 · 1 评论 -
使用@Order注解调整配置类加载顺序
1 、@Order1、Spring 4.2 利用@Order控制配置类的加载顺序,2、Spring在加载Bean的时候,有用到order注解。3、通过@Order指定执行顺序,值越小,越先执行4、@Order注解常用于定义的AOP先于事物执行2 、新建Springboot项目来测试(1)、引入依赖 <parent>...原创 2019-08-20 15:36:29 · 6259 阅读 · 0 评论 -
同步锁的三种实现与案例解析
1、同步和异步的区别和联系所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其它的命令。 异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。 同步在一定程原创 2017-12-17 17:29:43 · 7488 阅读 · 1 评论 -
JAVA POI HSSFWorkbook 导出Excel表格超大数据量解决方案
Java实现导出excel表格功能,大部分都会使用apache poi,apache poi API 地址POI之前的版本不支持大数据量处理,如果数据过多则经常报OOM错误,有时候调整JVM大小效果也不是太好。3.8版本的POI新出来了SXSSFWorkbook,可以支持大数据量的操作,只是SXSSFWorkbook只支持.xlsx格式,不支持.xls格式。3.8版本的POI对ex原创 2017-10-25 15:43:28 · 10273 阅读 · 0 评论 -
JVM 堆内存设置原理
堆内存设置原理JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation),Ne原创 2017-10-23 20:49:03 · 319 阅读 · 0 评论 -
JVM(java 虚拟机)内存设置
一、设置JVM内存设置1. 设置JVM内存的参数有四个:-Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;-Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;-Xmn Java Heap Young区大小,不熟悉最好保留默认值;-原创 2017-10-23 20:45:46 · 716 阅读 · 0 评论 -
线程、多线程与线程池总结
线程:进程中负责程序执行的执行单元。一个进程中至少有一个线程。多线程:解决多任务同时执行的需求,合理使用CPU资源。多线程的运行是根据CPU切换完成,如何切换由CPU决定,因此多线程运行具有不确定性。线程池:基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。http://www.jianshu.com/p/b8197dd2原创 2017-10-23 20:28:07 · 322 阅读 · 0 评论 -
Java 的线程池 ExecutorService 简单介绍
做java的开发,线程是经常用的。最简单的使用大家都应该清楚,如继承Thread类、实现Runnable接口。这样,是没有问题。但是当我们需要频繁的处理一些任务时候,就要多次创建线程和处理线程关闭等回收工作。 这样比较麻烦。并且如果同时不限制线程个数,很多个任务一起执行,对性能有一定影响。所以,java提供了Executor线程池来处理并发任务,并且可以支持4种模式: 1.new Cach...原创 2017-10-23 20:16:38 · 554 阅读 · 0 评论 -
我是一个线程
线程状态有,就绪、等待、运行。就绪是等着别人执行,等待是等待数据库执行;单独启动的线程是会被 Kill 掉的,而线程池之中的线程不会,只有在重启时才会消亡;多个线程访问共享资源,某些情况需要使用锁机制的;线程占用 CPU 太大太久产生死锁,操作系统根据算法杀死某个线程。转载 2017-10-23 11:36:22 · 341 阅读 · 0 评论 -
Throwable、Error、Exception、RuntimeException 初阶
相关概念的练习与区别 1.Throwable 类是 Java 语言中所有错误或异常的超类。它的两个子类是Error和Exception; 2.Error 是 Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件。虽然 ThreadDeath 错误是一个“正规”的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕获它。在执行该方原创 2017-06-05 14:01:37 · 426 阅读 · 0 评论 -
【报错】 Unable to open debugger port
使用 Intellij IDEA 进行代码调试,启动项目出现报错,内容如下Unable to open debugger port (127.0.0.1:3691): java.net.BindException "Address already in use: JVM "之前 Debug 使用的端口号为 3691,不删除Tomcat Server配置,可以手动修改端口号,但是它只能用原创 2017-05-18 13:15:16 · 24603 阅读 · 0 评论 -
HTTP 中 GET 方法与 POST 方法的简单比较
什么是 HTTP ?超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信。HTTP 的工作方式是客户端与服务器之间的请求-应答协议。WEB 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。两种 HTTP 请求方原创 2017-01-11 16:18:19 · 494 阅读 · 0 评论 -
Java 中判断 JSONObject 对应的 VALUE 为空
目前发现有两种包.两种不一样的json包.第一种情况是: json包是json-lib包是net.sf.json怎样判断JSONObject返回的是字符串null还是null值.研究源码发现.JSONObject里有一段代码是当遇到json串中是null的时候.返回JSONNUll.所以区分null时这样:JSONObject jo = JSONObject.fromObj原创 2017-01-05 17:54:44 · 12622 阅读 · 1 评论 -
BootStrap 模态框实现刷新网页并关闭
方法与实现hide.bs.modal,当调用 hide 实例方法时触发。 $('#identifier').on('hide.bs.modal', function () { // 执行一些动作...})hidden.bs.modal,当模态框完全对用户隐藏时触发。 $('#identifier').on('hidden.bs.modal', functi原创 2017-01-04 10:36:23 · 12027 阅读 · 0 评论 -
BootStrap Table 获取同行不同列元素
表格同行中存在元素的相互调用,如何保证元素能够被同行不同列的其他方框使用,方法如下:页面元素示例如下: TableNameElemnt原创 2016-12-19 17:10:50 · 8194 阅读 · 2 评论 -
EL 表达式获取 Bean 对象中 POJO 列表的某个元素的方法
在相应的 JSP 页面元素之中,编辑元素的值,代码示例如下Java 代码实现如下class A{ List bList;}class B{ Elem C;}JSP 元素赋值如下value="${(A.bList)[0].C}"原创 2016-11-21 20:26:18 · 1048 阅读 · 0 评论 -
通过 session 完成 action 之间的数据传递
初始化:HttpServletRequest request = ServletActionContext.getRequest();存值:request.getSession().setAttribute("list", list);取值:List list = (List) request.getSession().getAttribute("list");删除:request.g原创 2016-11-14 20:38:03 · 748 阅读 · 0 评论 -
Eclipse 在 JavaWeb 项目 sun.misc.BASE64Encoder 找不到的解决方法
右键项目-》属性-》Javabulid path-》jre System Library-》access rules-》resolution选择accessible,下面填上** 点击确定即可,如图。原创 2016-10-20 11:54:25 · 1038 阅读 · 0 评论 -
从 闭包 到 final 变量 浅析
1. 闭包(Closure)什么是闭包,大白话不怎么严谨的说就是:1)一个依赖于外部环境自由变量的函数2) 这个函数能够访问外部环境里的自由变量看下面这个 Javascript 闭包的例子:function Add(y) { return function(x) { return x + y } } 对内部原创 2016-11-08 21:56:32 · 612 阅读 · 0 评论 -
Java 手机号码正则表达式验证
1.正则表达式的字符串表示String mobileRegex = "^1(3|4|5|7|8)\\d{9}$";字符^意义:表示匹配的字符必须在最前边;字符$意义:表示待匹配串的结束位置;字符\d{5,9}意义:\d是数字,{5,9}是5-9位,如果只是验证手机号,且校验的正则表达式如下:/^1[3|5|8][0-9]\d{4,8}$/ ;不妨写成 /^1[3|5|8]\原创 2017-02-08 17:36:25 · 6240 阅读 · 0 评论 -
tomcat 启动 startup.bat一闪而过
遇到很多次运行startup.bat后,一个窗口一闪而过的问题,但是从来没去纠正怎样修改配置才是正确的,现在从网上查阅的资料整理如下:tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与JAVA_HOME的信息,CATALINA_HOME即tomcat的主目录,JAVA_HOME即Java安装的主目录,jdk的主目录。首先,要在环境变量处,配置JAVA_HOM原创 2017-02-27 23:42:02 · 588 阅读 · 0 评论 -
BootStrapTable 隐藏列
$(function () { $("#cbFollowUpList").bootstrapTable({ url:'/npackage/naction_nfunc.action, height:500, dataType:"json", striped:true,原创 2017-02-12 15:39:28 · 9406 阅读 · 1 评论 -
RESTful 注解简述
@GET、@POST、@PUT、@DELETE、@HEAD@GET、@POST、@PUT、@DELETE 以及 @HEAD 均是 HTTP 请求方法指示符注释。您可以使用它们来绑定根资源或子资源内的 Java 方法与 HTTP 请求方法。HTTP GET 请求被映射到由 @GET 注释的方法;HTTP POST 请求被映射到由 @POST 注释的方法,以此类推。@Conumes 和 @原创 2017-05-27 16:17:55 · 3395 阅读 · 0 评论 -
Mybatis 和 自定义构造函数 冲突的解决办法
使用Mybatis实现数据库查询时候报错,内容如下### Cause: org.apache.ibatis.reflection.ReflectionException: Error instantiating class corp.credit.dialOutTask.bean.DialOutTaskDetail with invalid types () or values (). Cau原创 2017-05-23 11:30:54 · 3182 阅读 · 1 评论 -
static 静态代码块
代码示例public class ConnectionUtil { private static ThreadLocal tl = new ThreadLocal(); private static Connection initConn = null; static { try { initConn = Drive原创 2017-03-01 18:29:33 · 417 阅读 · 0 评论 -
Java多线程 之 类锁与对象锁
对象锁 java的所有对象都含有1个互斥锁,这个锁由JVM自动获取和释放。线程进入synchronized方法的时候获取该对象的锁,当然如果已经有线程获取了这个对象的锁,那么当前线程会等待;synchronized方法正常返回或者抛异常而终止,JVM会自动释放对象锁。这里也体现了用synchronized来加锁的1个好处,方法抛异常的时候,锁仍然可以由JVM来自动释放。 类锁 对象锁是用来控制原创 2017-04-06 00:20:16 · 618 阅读 · 0 评论 -
HTTP请求GET和POST的区别
一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HTTP的响应给客户端,HTTP的响应内容同样有标准的格式。无论是什么客户端或者是什么服务端,大家只要按照HTTP的协议标准来实现的话,那么它一定是通用的。HTTP 提交 GET提交,请求的数据会附在URL之后(就是把数据原创 2017-04-21 20:34:58 · 453 阅读 · 0 评论 -
HashMap 详解
http://alex09.iteye.com/blog/539545/ HashMap 源码详解 public V put(K key, V value) { // 如果 key 为 null,调用 putForNullKey 方法进行处理 if (key == null) return putForNullKey(value); //原创 2017-04-03 20:36:23 · 361 阅读 · 0 评论 -
Eclipse中如何快速查看jar包中 的class源码
我们查看jar源码时,一般是安装个jd-gui,把jar拷出来,然后从jd-gui中打开jar再查看源码,这个过程不免有些麻烦,当然,本篇所讲的快速查看的方法也没什么高科技手段,只是将jd-gui集成在Eclipse中,然后就可以在Eclipse中直接打开class了,这样会不但操作方便也会节省不少时间,具体步骤:下载插件:jd-eclipse-site-1.0.0-RC2.zip原创 2017-03-08 00:25:15 · 878 阅读 · 1 评论