- 博客(441)
- 资源 (16)
- 收藏
- 关注
转载 IntelliJ Idea下的Run tomcat正常,Debug tomcat卡住不动
问题:使用IntelliJ Idea做JAVA开发,在用Run模式启动Tomcat时候项目可以正常启动,但是用Debug模式启动Tomcat时一直卡着加载springmvc的配置文件不动解决方案:项目里Breakpoints断点太多,导致项目无法按Debug模式启动;打开Breakpoints框(Ctrl+Shift+F8快捷键),去掉项目里的BreakPoints,再按Debug模式即可正常启动...
2018-04-19 19:58:04
1306
1
转载 Idea解决maven依赖包冲突问题
转载I地址:http://blog.sina.com.cn/s/blog_4d1085940102x2gx.html先下结论,现在能百度到的依赖包解决办法全他妈是垃圾。首先是检查依赖包的程序,压根不好使;另外一个使用mvn dependency:tree > tree.txt 把依赖树都打印出来的,也是垃圾,因为打印出来的最终树并没有包涵所有的依赖包。而且就像我说的,码农的语文老师都是傻逼。...
2018-04-11 23:16:11
3430
3
转载 对比git pull和git pull --rebase
对比git pull和git pull --rebase1、使用下面的关系区别这两个操作:git pull = git fetch + git mergegit pull --rebase = git fetch + git rebase2一、基本git rebase用于把一个分支的修改合并到当前分支。假设你现在基于远程分支"origin",
2018-01-16 10:38:27
5506
1
转载 controller 接收页面list,数组,等数据的问题
本文转自http://jxd-zxf.iteye.com/blog/2072300 Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是application/json,因此发送POST请求时需要设置请求报文头信息,否则Spring MVC在解析集合请求参数
2018-01-08 21:07:27
2610
1
转载 controller 接收页面list,数组,等数据的问题
本文转自http://jxd-zxf.iteye.com/blog/2072300 Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是application/json,因此发送POST请求时需要设置请求报文头信息,否则Spring MVC在解析集合请求参数
2018-01-08 19:01:24
27463
3
原创 HTTP Status 500 - java.lang.NoClassDefFoundError: org/apache/tomcat/util/descriptor/LocalResolver
头次发现,使用tomcat7很长时间,今天项目突发上面的情况,试了很多方法都无效,最后把版本更新T到omcat 7.0.72,问题解决;分析过程:1 首先打包自己项目,排除jar依赖的影响2 查看代码历史记录,发现没有更改过3 删除idea中的target 4 升级Tomcat版本解决,更高版本没试过。
2017-11-20 16:19:34
1999
1
转载 HBase java API 使用实例(一)——增加、修改、删除
上一篇文章(http://blog.csdn.net/wild46cat/article/details/53288537)已经能够使用java api对HBase进行增加、删除、修改了,那么这篇文章主要是讲的是什么呢?这篇文章主要是对上一篇文章中的代码的重构,首先把一些已经废弃的方法进行了替换,然后是对生产环境的一个测试,最后在返回数据时,已经把数据转换成类似JSON的格式了。这样重构之后,在使
2017-11-17 11:21:15
1099
1
转载 ElasticSearch 常用的查询过滤语句
query 和 filter 的区别请看: http://www.cnblogs.com/ghj1976/p/5292740.html Filter DSL term 过滤term主要用于精确匹配哪些值,比如数字,日期,布尔值或 not_analyzed 的字符串(未经分析的文本数据类型): { "term": { "age": 26
2017-11-12 22:04:37
321
1
转载 从一个例子学习 instanceof 和 getclass 的区别
判断两个对象是否为同一类型,时常用到getclass 和 instanceof ,而这两个函数又是时常让人混淆。下面从一个例子说明两者的区别:public class Test_drive { public static void main(String[] args){ A a = new A(); B b = new B();
2017-11-09 15:15:46
273
1
转载 JAVA启动参数大全之三:非Stable参数
前面我们提到用-XX作为前缀的参数列表在jvm中可能是不健壮的,SUN也不推荐使用,后续可能会在没有通知的情况下就直接取消了;但是由于这些参数中的确有很多是对我们很有用的,比如我们经常会见到的-XX:PermSize、-XX:MaxPermSize等等;下面我们将就Java HotSpot VM中-XX:的可配置参数列表进行描述;这些参数可以被松散的聚合成三类:行为参数(Behav
2017-10-30 11:01:33
396
1
转载 Spring下配置几种常用连接池
1、连接池概述 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免
2017-10-23 16:06:44
4918
转载 Nexus 搭建maven 私有仓库
nexus如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服
2017-10-20 17:44:17
257
转载 Spring MVC +Spring + Mybatis 构建分库分表总结 SSM搭建以及分库分表的实现
分库分表在小型公司很少能遇到也很少使用,毕竟数据量没有那么大,当数据量大,所有数据都压在一张表时,如果单从数据库的角度考虑是可以分库分表处理来存储数据。分库分表 顾名思义就是根据查询条件动态的去获取数据所在的库和表的位置.例如一个系统有唯一的标识userNum,所有路由规则都可以根据userNum做库表的定位工作.本文测试用3个库5个表做测试.三个库book_00,book_01,book_0
2017-10-17 14:00:26
1271
转载 spring注解与xml同时使用:bean命名问题及冲突
主程序如下,基于spring的依赖注入:public class UserServImpl implements UserServ{@autowiredprivate UserDao userDao;....}1、xml中配置bean id 与类名一致:UserDao" class="com.db.UserDao" />
2017-10-16 11:39:20
3531
转载 Spring容器初始化过程
一、Spring 容器高层视图Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配号Bean之间的依赖关系,为上层应用提供准备就绪的运行环境。二、内部工作机制该图描述了Spring容器从加载配置文件到创建出一个完整Bean的作业流程:1、Resour
2017-10-16 10:58:58
10954
转载 数据库Sharding的基本思想和切分策略
本文着重介绍sharding的基本思想和理论上的切分策略,关于更加细致的实施策略和参考事例请参考我的另一篇博文:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示 一、基本思想 Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果
2017-10-14 20:24:35
312
转载 maven的离线模式
Q:什么时候需要maven离线模式? A:没有网络,只有本地库,又是用maven来管理项目,在编译或者下载第三方Jar的时候,老是去中央仓库上自动下载,导致出问题 1.全局设置setting.xml的offline Eclipse中使用,一般默认位置${user.home}/.m2/settings.xml, 如果Eclipse中配置了Maven插件,那应该
2017-10-10 13:18:13
26301
1
转载 Java奇淫巧技之Lombok
背景 我们在开发过程中,通常都会定义大量的JavaBean,然后通过IDE去生成其属性的构造器、getter、setter、equals、hashcode、toString方法,当要对某个属性进行改变时,比如命名、类型等,都需要重新去生成上面提到的这些方法,那Java中有没有一种方式能够避免这种重复的劳动呢?答案是有,我们来看一下下面这张图,右面是一个简单的JavaBean,只定义了两个
2017-10-10 10:15:55
351
转载 lombok的使用和原理
一、项目背景 在写Java程序的时候经常会遇到如下情形: 新建了一个Class类,然后在其中设置了几个字段,最后还需要花费很多时间来建立getter和setter方法 lombok项目的产生就是为了省去我们手动创建getter和setter方法的麻烦,它能够在我们编译源码的时候自动帮我们生成getter和setter方法。即它最终能够达到的效果是:在源码中没有getter和setter
2017-10-10 10:02:27
363
转载 @Data 注解引出的 lombok 小辣椒
今天在看代码的时候, 看到了这个注解, 之前都没有见过, 所以就查了下, 发现还是个不错的注解, 可以让代码更加简洁.这个注解来自于 lombok,lombok 能够减少大量的模板代码,减少了在使用@Data 注解时, 需要导入lombok.Data,下面列举下 lombok提供的注解:val : 和 scala 中 val 同名, 可以在运行时确定类型;@NonNull :
2017-10-10 09:48:22
1687
转载 Spring+MyBatis多数据源配置实现
最近用到了MyBatis配置多数据源,原以为简单配置下就行了,实际操作后发现还是要费些事的,这里记录下,以作备忘不多废话,直接上代码,后面会有简单的实现介绍jdbc和log4j的配置#定义输出格式ConversionPattern=%d %-5p [%t] %c - %m%nlog4j.rootLogger=DEBUG,Consolelog4j.logger.com
2017-09-29 21:24:31
248
转载 spring中bean的配置详解
IOC其实是从我们平常new一个对象的对立面来说的,我们平常使用的对象一般直接使用关键字类new一个对象,患处很显然,使用new那么就表示当前模块已经不知不觉和new出的对象耦合了,而我们通常都是更高层次的抽象模块调用底层实现模块,这样就产生模块依赖于具体的实现,这与我们JAVA中提倡的面向接口面向抽象编程是相冲突的,而且这样做也带来系统的模块架构问题。很简单的例子,在进行数据库操作的时候,总是业
2017-09-29 13:06:33
320
转载 使用maven profile实现多环境可移植构建
在开发过程中,我们的软件会面对不同的运行环境,比如开发环境、测试环境、生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,是个很麻烦的事情。有没有一种方法能够让我们不用修改配置就能发布到不同的环境中呢?当然有,这就是接下来要做的事。当然,这里的
2017-09-28 11:09:05
155
转载 Maven详解之仓库------本地仓库、远程仓库
在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库。(仓库就是存放依赖和插件的地方)任何的构件都有唯一的坐标,Maven根据这个坐标定义了构件在仓库中的唯一存储路径,解读Maven在仓库中的存储路径:1.基于groupId准备路径,将句点分隔符转成路径分隔符,就
2017-09-28 10:31:14
492
转载 MyBatis传入参数与parameterType
1. 传入简单类型 Java代码:public User get(Long id) { return (User) getSqlSession().selectOne("com.liulanghan.get" , id); } MAPPER : select * from user where id = #{id};
2017-09-26 10:40:34
1051
转载 解决 IDEA 中src下xml等资源文件无法读取的问题
该问题的实质是,idea对classpath的规定。在eclipse中,把资源文件放在src文件夹下,是可以找到的;但是在idea中,直接把资源文件放在src文件夹下,如果不进行设置,是不能被找到的。下面说说几种解决方法,网上说的都很混乱,我这里做一个总结:推荐方法41.将所有资源文件放在resources文件夹下这样做很方便,比较容易想
2017-09-25 11:46:39
716
转载 Java绝对/相对路径获取与getResourceAsStream()方法
Java路径 Java中使用的路径,分为两种:绝对路径和相对路径。具体而言,又分为四种: 一、URI形式的绝对资源路径 如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b URL是URI的特例。URL的前缀/协议,必须是Java熟悉的。URL可以打开资源,而URI则不行。 URL和URI对象可以
2017-09-25 11:36:07
6346
转载 mvn package时设置了maven.test.skip=true依旧执行单元测试
发现自己的maven程序在执行mvn clean packagemvn package -Dmaven.test.skip=true -Ptest终端还是打印出单元测试在执行,解决的过程中了解到-DskipTests和-Dmaven.test.skip=true的区别是-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/tes
2017-09-24 22:59:26
2382
转载 Maven POM中的各种scope的行为总结
compile:默认的scope。任何定义在compile scope下的依赖将会在所有的class paths下可用。maven工程会将其打包到最终的arifact中。如果你构建一个WAR类型的artefact,那么在compile scope下引用的JAR文件将会被集成到WAR文件内。provided:这个scope假定对应的依赖会由运行这个应用的JDK或者容器来提供。最好的例
2017-09-24 21:39:30
268
转载 Spring AOP中pointcut expression表达式解析
Pointcut 是指那些方法需要被执行"AOP",是由"Pointcut Expression"来描述的.Pointcut可以有下列方式来定义或者通过&& || 和!的方式进行组合. args()@args()execution()this()target()@target()within()@within()@annotation其中executio
2017-09-22 19:45:34
385
转载 JVM调优总结(十一)-反思
垃圾回收的悖论 所谓“成也萧何败萧何”。Java的垃圾回收确实带来了很多好处,为开发带来了便利。但是在一些高性能、高并发的情况下,垃圾回收确成为了制约Java应用的瓶颈。目前JDK的垃圾回收算法,始终无法解决垃圾回收时的暂停问题,因为这个暂停严重影响了程序的相应时间,造成拥塞或堆积。这也是后续JDK增加G1算法的一个重要原因。 当然,上面是从技术角度出发解决垃圾回收带来
2017-09-22 13:54:11
174
转载 JVM调优总结(十)-调优方法
VM调优工具Jconsole,jProfile,VisualVMJconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里 JProfiler:商业软件,需要付费。功能强大。详细说明参考这里 VisualVM:JDK自带,功能强大,与JProfiler类似。推荐。
2017-09-22 13:48:52
197
转载 JVM调优总结(九)-新一代的垃圾回收算法
垃圾回收的瓶颈 传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限。但是他无法解决的一个问题,就是Full GC所带来的应用暂停。在一些对实时性要求很高的应用场景下,GC暂停所带来的请求堆积和请求失败是无法接受的。这类应用可能要求请求的返回时间在几百甚至几十毫秒以内,如果分代垃圾回收方式要达到这个指标,只能把最大堆的设置限制在一个
2017-09-22 13:47:32
180
转载 JVM调优总结(八)-典型配置举例2
常见配置汇总 堆设置 -Xms:初始堆大小 -Xmx:最大堆大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。
2017-09-22 13:39:54
172
转载 JVM调优总结(七)-典型配置举例1
以下配置主要针对分代垃圾回收算法而言。 堆大小设置年轻代的设置很关键JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设
2017-09-22 13:33:30
292
转载 JVM调优总结(六)-分代垃圾回收详述2
分代垃圾回收流程示意 选择合适的垃圾收集算法串行收集器 用单线程处理所有垃圾回收工作,因为无需多线程交互,所以效率比较高。但是,也无法使用多处理器的优势,所以此收集器适合单处理器机器。当然,此收集器也可以用在小数据量(100M左右)情况下的多处理器机器上。可以使用-XX:+UseSerialGC打开。
2017-09-22 13:25:26
201
转载 JVM调优总结(五)-分代垃圾回收详述1
为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比较长。但是还有一些对象,主要是
2017-09-22 13:19:52
164
转载 JVM调优总结(四)-垃圾回收面临的问题
如何区分垃圾 上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对象即可。但是这种方法无法解决循环引用。所以,后来实现的垃圾判断算法中,都是从程序运行的根节点出发,遍历整个对象引用,查找存活的对象。那么在这种方式的实现中,垃圾回收从哪儿开始的呢?即,从哪儿开始查找哪些对象是正在被当前系统使用的。上面分析的堆和栈的区别,其中栈
2017-09-22 12:52:52
174
转载 JVM调优总结(三)-基本垃圾回收算法
可以从不同的的角度去划分垃圾回收算法:按照基本回收策略分引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 标记-清除(Mark-Sweep): 此算法执行分两阶
2017-09-22 12:48:58
180
转载 JVM调优总结(二)-一些概念
Java对象的大小 基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句:Object ob = new Object(); 这样在程序中完成了一个Java对象的生命,但是它所占的空间为:4b
2017-09-22 12:43:29
138
.NET 下载文件
2013-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人