
Java
文章平均质量分 73
天空神话
没有理由,只有前进
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
extends super区别
http://www.cnblogs.com/drizzlewithwind/p/6100164.html原创 2018-11-07 15:48:35 · 328 阅读 · 0 评论 -
Java8学习笔记
一、Lamda表达式传统写法package cn.com; interface Message {// 这适宜个一个接口 public void print(String str) ;// 里面只有一个抽象方法 } public class TestDemo { public static void main(String[] args) { Message msg= ne...原创 2018-04-03 13:54:39 · 216 阅读 · 0 评论 -
泛型就这么简单
前言从今天开始进入Java基础的复习,可能一个星期会有一篇的<十道简单算法>,我写博文的未必都是正确的~如果有写错的地方请大家多多包涵并指正~今天要复习的是泛型,泛型在Java中也是个很重要的知识点,本文主要讲解基础的概念,并不是高深的知识,如果基础好的同学可以当复习看看~一、什么是泛型?Java泛型设计原则:只要在编译时期没有出现警告,那么运行时期就不会出现ClassCastExce...转载 2018-04-03 10:07:16 · 324 阅读 · 0 评论 -
关于JVM优化参数整理
-XX:+PrintGC = -verbose:gc-XX:+PrintGCDetails-XX:+PrintGCDateStamps-Xloggc:C:\Users\ligj\Downloads\gc.log-Xmx3550m 堆最大-Xms3550m 堆最小-Xmn2g 新生代大小 -Xss128k 虚拟机栈大小 整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定...原创 2018-04-02 10:15:12 · 242 阅读 · 0 评论 -
如何解决SimpleDateFormat类得线程安全问题
我想你应该知道SimpleDateFormat是非线程安全的吧?那么如何解决呢?答案很简单,用线程安全得日期格式化类了,谁提供了线程安全的日期格式化类呢?org.apache.commons,apache提供了很多类似的非常有用,而且高性能的工具类,针对上面这个问题,你只需要用FastDateFormat即可,为什么是这样,自己看源码,因为该类的实现了单例模式,且加了线程安全的同步控制。还可以用T...转载 2018-03-21 15:19:51 · 426 阅读 · 0 评论 -
如何用Jstack把java进程中的堆栈信息输出到文件
Jstack -l PID >> 123.txt进程ID通过jps命令可查看注意,如果没有成功添加环境变量,那么这里只能在Jstack的路径下执行,否则操作系统无法识别。如图,这里一般有两个运行参数,用来拍取内存快照,他们的含义如下:-l long listings,会打印出额(防盗连接:本文首发自http://www.cnblogs.com/jilodream/ )外的锁信息,在发...原创 2018-03-21 11:36:22 · 43048 阅读 · 1 评论 -
Enhancer 是专业的一站式信息系统开发云平台
https://enhancer.io/原创 2018-03-14 15:49:41 · 3163 阅读 · 1 评论 -
Elasticsearch学习资料整理
https://juejin.im/post/5ab4496e518825556d0e0713?utm_source=gold_browser_extension原创 2018-03-23 16:40:23 · 791 阅读 · 0 评论 -
我的阿里之路+Java面经考点
我的2017是忙碌的一年,从年初备战实习春招,年三十都在死磕JDK源码,三月份经历了阿里五次面试,四月顺利收到实习offer。然后五月怀着忐忑的心情开始了蚂蚁金服的实习。八月,又经历了两轮面试,总算拿到转正offer。到此为止,我总算可以尽情地享受最后的校园时光了。希望我的经历与感悟能帮助到大家。我的读研经历阿里是我读研阶段的一个重要目标,刚上研一的时候我便立下Flag,计划了读研三年要做的事情、...转载 2018-03-13 16:18:38 · 647 阅读 · 0 评论 -
Mybatis常见面试题
#{}和${}的区别是什么?#{}和${}的区别是什么?在Mybatis中,有两种占位符#{}解析传递进来的参数数据${}对传递进来的参数原样拼接在SQL中#{}是预编译处理,${}是字符串替换。使用#{}可以有效的防止SQL注入,提高系统安全性。当实体类中的属性名和表中的字段名不一样 ,怎么办 ?当实体类中的属性名和表中的字段名不一样 ,怎么办 ?第1种: 通过在查询的sql语句中定义字段名的别...转载 2018-03-13 14:43:57 · 165 阅读 · 0 评论 -
深入理解Java中的String
一、String类想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码:public final class String implements java.io.Serializable, Comparable<String>, CharSequence{ /** The value is used for character storag...转载 2018-03-16 17:07:08 · 161 阅读 · 0 评论 -
Maven 生命周期
1. Maven 构建生命周期Maven 构建生命周期就是 Maven 将一个整体任务划分为一个个的阶段,类似于流程图,按顺序依次执行。也可以指定该任务执行到中间的某个阶段结束。Maven 的内部有三个构建生命周期,分别是 clean, default, site。其中 default 生命周期的核心阶段如下所示: ...转载 2018-03-16 09:41:26 · 350 阅读 · 0 评论 -
也谈Spring Bean的生命周期
开篇先用一张老图描述下Spring中Bean容器的生命周期。 插叙一下,记得某个博文中提到:“Spring的Bean容器只管理非单例Bean的生命周期,单例Bean的生命周期不在管理范围内”,其实我认为这句话恰好说反了。首先明确一点,并非Spring容器中所有的Bean都有生命周期行为,只有接受容器管理生命周期的Bean才具有生命周期行为:而单例(Singleton)Bean接受容器管理,非单例(...转载 2018-03-28 15:49:26 · 216 阅读 · 0 评论 -
图解git操作流程图示
现在有这样一种情形:有一个叫做Joe的程序猿写了一个游戏程序,而你可能要去改进它。并且Joe将他的代码放在了GitHub仓库上。下面是你要做的事情fork并且更新GitHub仓库的图表演示Fork他的仓库:这是GitHub操作,这个操作会复制Joe的仓库(包括文件,提交历史,issues,和其余一些东西)。复制后的仓库在你自己的GitHub帐号下。目前,你本地计算机对这个仓库没有任何操作。Clon...转载 2018-04-17 13:55:53 · 792 阅读 · 0 评论 -
Git分支管理
2 Git 分支 - 分支的新建与合并分支的新建与合并现在让我们来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程:开发某个网站。为实现某个新的需求,创建一个分支。在这个分支上开展工作。假设此时,你突然接到一个电话说有个很严重的问题需要紧急修补,那么可以按照下面的方式处理:返回到原先已经发布到生产服务器上的分支。为这次紧急修补建立一个新分支,并在其中修复问题。通过测试后,回到生产...转载 2018-04-17 14:15:57 · 565 阅读 · 0 评论 -
优秀技术博客地址收藏学习
https://www.cnblogs.com/xrq730/原创 2018-08-24 13:41:25 · 325 阅读 · 0 评论 -
关于在一个Service事务中开启线程的问题,Spring事务管理源码解读
https://www.cnblogs.com/fishisnow/p/6396989.htmlSpring事务管理用了ThreadLocal保存多线程的资源隔离,保证并发情况下的线程安全,事务的一致性。原创 2018-08-08 17:03:51 · 3708 阅读 · 0 评论 -
Java NIO 核心组件学习笔记
背景知识同步、异步、阻塞、非阻塞首先,这几个概念非常容易搞混淆,但NIO中又有涉及,所以总结一下[1]。同步:API调用返回时调用者就知道操作的结果如何了(实际读取/写入了多少字节)。 异步:相对于同步,API调用返回时调用者不知道操作的结果,后面才会回调通知结果。 阻塞:当无数据可读,或者不能写入所有数据时,挂起当前线程等待。 非阻塞:读取时,可以读多少数据就读多少然后返回,写...转载 2018-08-14 17:30:00 · 243 阅读 · 0 评论 -
jdk自带的JVM调优工具总结
jvisualvm工具参考:https://www.cnblogs.com/kongzhongqijing/articles/3625340.html原创 2018-07-30 16:28:16 · 2461 阅读 · 0 评论 -
SQL-乐观锁,悲观锁之于并发
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默。我眼中的程序员大多都不爱说话,默默承受着编程的巨大压力,除了技术上的交流外,他们不愿意也不擅长和别人交流,更不乐意任何人走进他们的内心! 最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代...转载 2018-06-12 17:34:21 · 329 阅读 · 0 评论 -
很好的java8教程
http://blog.didispace.com/books/java8-tutorial/ch2.html原创 2018-06-05 15:25:22 · 4294 阅读 · 0 评论 -
泛型通配符上下界限的理解
转自:Java泛型中extends和super的区别?另,问题来源:Java 泛型 <? super T> 中 super 怎么 理解?与 extends 有何不同? <? extends T>和<? super T>是Java泛型中的“通配符(Wildcards)”和“边界(Bounds)”的概念。<? extends T>:是指 “上界通配符(U...转载 2018-06-05 16:20:35 · 5373 阅读 · 8 评论 -
Idea快捷键使用总结
鼠标指向方法调用显示文档注释ctrl + shif + a 输入show quick把off改成on就行了原创 2018-06-05 10:40:58 · 286 阅读 · 0 评论 -
linux常用命令总结
kill -9 pid 彻底杀死一个进程ps ef | grep redis 查看某个应用进程的实例netstat -lnp | grep 80 查看某个端口的占用情况原创 2018-05-10 17:09:17 · 200 阅读 · 0 评论 -
git拆分子目录作为新仓库并保留log记录
需求描述:现有一个非常之庞大(大的过分)的git仓库,包含了N多个项目的源码,项目各个阶段的文档,原型等。对于新用户来说,clone一次需要很长时间(网速也是槽点)。因此决定将原仓库拆分,将源码子目录作为一个新的仓库,并且需要保留和子目录相关的log记录。一.前期准备所有的命令在Git-shell中进行1. 原仓库在本地的目录结构如下图:1524103977(1).png (10.27 KB, 下...原创 2018-04-19 13:45:22 · 7763 阅读 · 2 评论 -
查询系统JVM参数设置,JVM参数解释的网站
http://xxfox.perfma.com/ 一只懂JVM参数的狐狸原创 2018-04-17 15:15:32 · 906 阅读 · 0 评论 -
Cookie的secure和httpOnly属性的含义
Cookie访问控制cookie如此重要,在浏览器端,如果一个网站可以访问其他网站的cookie,肯定不行的,所以浏览器是不允许跨域访问cookie的,提高了Cookie的安全性。在前面的文章 session和cookie介绍 中,已经介绍了cookie的作用域,主要是说一级域名相同情况下如何共享使用cookie。如果想实现跨域访问,可以通过JSONP、CORS的方法实现。另外,HTTP设置coo...原创 2018-03-14 17:40:08 · 9747 阅读 · 0 评论 -
Java 8中,Function,Consumer,Predicate,Supplier举例
本文仅仅作为科普,大牛请无视. (本文的所有例子都是写在junit里的, 不过贴代码的时候我把@Test去掉了)Function,Consumer,Predicate,Supplier这些接口有一个共性,就是都有一个@FunctionalInterface的注解, 有了这个注解,你就可以自定义lamda表达式了.本文先介绍一些例子,然后自定义一个lamda表达式的接口.先看一下Function接口...转载 2018-02-08 16:32:11 · 3300 阅读 · 0 评论 -
Java网络爬虫实操(5)
上一篇:Java网络爬虫实操(4)大家好,前几篇文章介绍的URL都是返回HTML内容的,然后再从HTML字符串里解析出我们想要的数据。但是,随着前端编程技术的发展,至少十多年前开始ajax、json等技术就已经是主流了。我们在网页上看到的很多数据,都是ajax异步方式请求服务器,然后以json数据格式返回响应结果并加载到网页上的。本篇文章的目标:使用NetDiscovery爬虫框架,使用GET和P...转载 2018-02-26 17:36:25 · 282 阅读 · 0 评论 -
JMS—事务管理
Spring提供了一个JmsTransactionManager用于对JMS ConnectionFactory做事务管理。这将允许JMS应用利用Spring的事务管理特性。JmsTransactionManager在执行本地资源事务管理时将从指定的ConnectionFactory绑定一个ConnectionFactory/Session这样的配对到线程中。JmsTemplate会自动检测这转载 2017-06-06 09:29:41 · 346 阅读 · 0 评论 -
网上的一篇spring security详解教程,觉得不错,转过来了
先来谈一谈Acegi的基础知识,Acegi的架构比较复杂,但是我希望我下面的只言片语能够把它说清楚。大家都知道,如果要对Web资源进行保护,最好的办法莫过于Filter,要想对方法调用进行保护,最好的办法莫过于AOP。Acegi对Web资源的保护,就是靠Filter实现的。如下图: 一般来说,我们的Filter都是配置在web.xml中,但是Acegi不一样,它在web.xml中配置的只是转载 2017-05-10 09:23:55 · 2547 阅读 · 0 评论 -
log4jdbc日志框架介绍
摘要: 现大家使用的ibatis,hibernate,spring jdbc的sql日志信息,有一点个缺点是占位符与参数是分开打印的,如果想要拷贝sql至PLSQL Developer客户端直接执行,需要自己拼凑sql。而log4jdbc是在jdbc层的一个日志框架,可以将占位符与参数全部合并在一起显示,方便直接拷贝sql在PLSQL Developer等客户端直接执行,加快调试速度。转载 2017-05-27 12:49:04 · 353 阅读 · 0 评论 -
关于提交form不刷新的问题
最近在做一个项目,除去主页面是html页面,点击菜单按钮都由ajax加载生成,在这种情景下,F5刷新或者提交form表单就会将页面回复到刚刚打开主页面。现在有一个这样的场景,点击子菜单生成一个子页面,在子页面有一个添加按钮,如图:在点击添加按钮后会出现一个模态框,将信息录入,如图:如果直接使用form表单提交那么就会将整个页面刷新,与预想的结果不符,于是在网上找到了设置form转载 2017-03-16 09:53:27 · 1261 阅读 · 0 评论 -
第一章 Shiro简介——《跟我学Shiro》
1.1 简介Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。本教程只介绍基本的Shiro使转载 2017-03-14 17:03:28 · 318 阅读 · 0 评论 -
git merge和rebase的区别
Git merge 会生成一个新得合并节点,而rebase不会比如:[plain] view plain copy print? D---E test / A---B---C---F master D---E test /A---B---C---F master使用merge合并:转载 2017-03-14 16:33:57 · 279 阅读 · 0 评论 -
cxf动态调用WebService
最近突然发现原来调用webservice服务端如此的方便,于是自己看了看,这种是使用cxf的JaxWsDynamicClientFactory动态调用的,主要时间花在了找包的时间上,另外,这种方式虽然调用方便,但是每一次调用都会扫描到接口中的所有方法,所以叫动态。下面直接看下具体的: 1.服务端 我采用的是JDK自带的webService注解方式,JDK1.6以上支持 package转载 2017-03-14 15:12:34 · 575 阅读 · 0 评论 -
WSDL文档图解
webservice soap WSDL中的tns字段什么意思?tns:是targetNameSpace的缩写转载 2017-03-14 15:01:57 · 312 阅读 · 0 评论 -
通过setAllowNonStringKeys解决java.lang.ClassCastException: JSON keys must be strings
一直使用 json-lib-2.4-jdk15,感觉还不错, 通过 jsonConfig可以灵活性的设置参数(吐槽下,这个jar 很久没有更新了) 今天使用的时候,报了个异常 java.lang.ClassCastException: JSON keys must be strings 代码片段如下 Java代码 L转载 2017-03-14 14:48:21 · 3311 阅读 · 0 评论 -
json-lib 之jsonConfig详细使用(转载写的不错)
一,setCycleDetectionStrategy 防止自包含/** * 这里测试如果含有自包含的时候需要CycleDetectionStrategy */ public static void testCycleObject() { CycleObject object = new CycleObject();转载 2017-03-14 14:47:47 · 765 阅读 · 0 评论 -
Eclipse远程调试Tomcat
最近,一直在研究Tomcat的工作内幕,主要的方法就是参考《How Tomcat Works》 这本书和Tomcat 5.5.26的源代码。 Tomcat的代码结构还是比较清晰的,注释也比较全。但是代码毕竟是静态的,难以彻底弄清类与类之间的协作关系,以及运行时对象的交互关系。 如果能对Tomcat的启动、处理请求和停止的过程进行断点调试,看清Tomcat的每一步行踪,那么就转载 2017-03-06 17:57:16 · 253 阅读 · 0 评论