摘要: 一、synchronized synchronized关键字可以用于声明方法,也可以用来声明代码块,下面分别看一下具体的场景(摘抄自《大型网站系统与Java中间件实践》) 案例一:其中foo1和foo2是SynchronizedDemo1类的两个静态方法。在不同的线程中,这两个方法的调用是互斥的,不 阅读全文
posted @ 2017-09-24 01:39 ^_TONY_^ 阅读(936) 评论(0) 推荐(0) 编辑
摘要: 后续个人的一些技术总结文章会写在自己的个人博客上:欢迎关注:xxx Ps:技术探讨欢迎提 issue 或者 email。 QQ:1170382650 邮箱:1170382650@qq.com Java Java基础 深入理解Java:String CoreJava:异常 CoreJava:泛型 深入 阅读全文
posted @ 2017-09-24 00:58 ^_TONY_^ 阅读(1453) 评论(1) 推荐(3) 编辑
摘要: 一、SimpleDateFormat的线程安全问题 为什么SimpleDateFormat是线程不安全的? 下面通过一个案例代码来说明 为什么SimpleDateFormat是线程不安全的? 为什么SimpleDateFormat是线程不安全的? public class DateUtilTest 阅读全文
posted @ 2017-09-24 00:55 ^_TONY_^ 阅读(1224) 评论(0) 推荐(0) 编辑
摘要: 原文转载自美团从实际案例聊聊Java应用的GC优化,感谢原作者的贡献 当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。但GC算法复杂,影响GC性能的参数众多,且参数调整又依赖于应用各自的特点,这些因素很大程度上增加了GC优化的难度。 阅读全文
posted @ 2014-11-27 14:58 ^_TONY_^ 阅读(2459) 评论(0) 推荐(1) 编辑
摘要: 参考 温绍景-Java虚拟机基础 阅读全文
posted @ 2014-11-17 11:11 ^_TONY_^ 阅读(2778) 评论(0) 推荐(0) 编辑
摘要: 对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见。对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避免后知后觉的犯下大错,专门参考大量前辈们的心得,小小的总结一下,欢迎大家拍砖啊一、跨站脚本攻击(XSS... 阅读全文
posted @ 2014-09-19 22:30 ^_TONY_^ 阅读(68149) 评论(4) 推荐(3) 编辑
摘要: 一、什么是内部类? 一、什么是内部类? 内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有以下几类:成员内部类、局部内部类、静态内部 阅读全文
posted @ 2014-09-19 00:10 ^_TONY_^ 阅读(14804) 评论(4) 推荐(9) 编辑
摘要: SpringIOC设计原理解析:本文乃学习整理参考而来一、什么是Ioc/DI? 二、SpringIOC体系结构 (1)BeanFactory (2)BeanDefinition 三、IoC容器的初始化 1、XmlBeanFactory(屌丝IOC)的整个流程 2、FileSystemXmlAppli... 阅读全文
posted @ 2014-09-18 07:58 ^_TONY_^ 阅读(294958) 评论(36) 推荐(98) 编辑
摘要: 说明:本文乃学习整理参考而来.一、Java类加载机制1.概述Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。虚拟... 阅读全文
posted @ 2014-09-17 21:32 ^_TONY_^ 阅读(137330) 评论(6) 推荐(32) 编辑
摘要: 在讲解String之前,我们先了解一下Java的内存结构。一、Java内存模型按照官方的说法:Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。 JVM主要管理两种类型内存:堆和非堆,堆内存(HeapMemory)是在 Java 虚拟机启动时创建,非堆内存(Non... 阅读全文
posted @ 2014-09-17 12:11 ^_TONY_^ 阅读(41844) 评论(10) 推荐(14) 编辑
摘要: 注解作用:每当你创建描述符性质的类或者接口时,一旦其中包含重复性的工作,就可以考虑使用注解来简化与自动化该过程。Java提供了四种元注解,专门负责新注解的创建工作。元注解 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 an... 阅读全文
posted @ 2014-09-16 11:23 ^_TONY_^ 阅读(11332) 评论(1) 推荐(3) 编辑
摘要: 原文转自:https://tech.meituan.com/namenode.html 感谢原作者 一、概述 从整个HDFS系统架构上看,NameNode是其中最重要、最复杂也是最容易出现问题的地方,而且一旦NameNode出现故障,整个Hadoop集群就将处于不可服务的状态,同时随着数据规模和集群 阅读全文
posted @ 2014-09-12 14:07 ^_TONY_^ 阅读(3921) 评论(0) 推荐(1) 编辑
摘要: HttpClient简介HttpClient 功能介绍 1. 读取网页(HTTP/HTTPS)内容 2、使用POST方式提交数据(httpClient3) 3. 处理页面重定向 4. 模拟登录开心网 5. 提交XML格式参数 6. 访问启用认证的页面 7. 多线程模式下使用ht... 阅读全文
posted @ 2014-09-12 11:48 ^_TONY_^ 阅读(172185) 评论(22) 推荐(21) 编辑
摘要: Commons-configuration Commons-FileUpload CommonsDbUtils CommonsBeanUtilsCommonsCLICommonsCodec CommonsCollectionsCommonsDBCP CommonsHttpClientCommonsI... 阅读全文
posted @ 2014-09-11 17:34 ^_TONY_^ 阅读(12959) 评论(1) 推荐(5) 编辑
摘要: 一、Future Future和Callable基本是成对出现的,Callable负责产生结果,Future负责获取结果。 1、Callable接口类似于Runnable,只是Runnable没有返回值。 2、Callable任务除了返回正常结果之外,如果发生异常,该异常也会被返回,即Future可 阅读全文
posted @ 2014-09-11 14:55 ^_TONY_^ 阅读(2897) 评论(1) 推荐(0) 编辑
摘要: 多线程下[HashMap]的问题: 1、多线程put操作后,get操作导致死循环。2、多线程put非NULL元素后,get操作得到NULL值。3、多线程put操作,导致元素丢失。 多线程下[HashMap]的问题: 1、多线程put操作后,get操作导致死循环。2、多线程put非NULL元素后,ge 阅读全文
posted @ 2014-09-11 14:48 ^_TONY_^ 阅读(22618) 评论(6) 推荐(3) 编辑
摘要: 本文主要是解析选择排序算法:直接选择排序和堆排序。一、直接选择排序 基本思想: 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已... 阅读全文
posted @ 2014-09-08 23:26 ^_TONY_^ 阅读(1403) 评论(0) 推荐(0) 编辑
摘要: 一、ThreadLocal基础知识 ThreadLocal是线程的一个本地化对象,或者说是局部变量。当工作于多线程中的对象使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程分配一个独立的变量副本。所以每一个线程都可以独立地改变自己的副本,而不会影响其他线程所对应的副本 阅读全文
posted @ 2014-09-08 09:23 ^_TONY_^ 阅读(2305) 评论(2) 推荐(1) 编辑
摘要: 本文主要说明插入排序、shell排序两种排序方法。一、插入排序 算法思想: 假定这个数组的序是排好的,然后从头往后,如果有数比当前外层元素的值大,则将这个数的位置往后挪,直到当前外层元素的值大于或等于它前面的位置为止.这具算法在排完前k个数之后,可以保证a[1…k]是局部有序的,保证了插入过程的... 阅读全文
posted @ 2014-09-06 23:40 ^_TONY_^ 阅读(2805) 评论(0) 推荐(0) 编辑
摘要: 一、oracle递归查询语句startwith...connectbyprior① 给你一张表,表里面有主键id,以及该项的父节点parent_id,查询出该表中所有的父子关系节点树?Oracle:startwith...connectbyprior例如:对分类下的所有组图(包括子分类下的组图)列表... 阅读全文
posted @ 2014-09-04 12:29 ^_TONY_^ 阅读(2354) 评论(0) 推荐(0) 编辑
摘要: 本文介绍两种交换排序方法:冒泡排序、快速排序冒泡排序(BubbleSort) 基本思想每次遍历完序列都把最大(小)的元素放在最前面,然后再对剩下的序列重复前面的一个过程,每次遍历完之后待排序序列就少一个元素,当待排序序列减小为只有一个元素的时候排序就结束了.因此,复杂度在最坏的情况下是O(N2).... 阅读全文
posted @ 2014-09-03 01:10 ^_TONY_^ 阅读(1777) 评论(0) 推荐(0) 编辑
摘要: Imagemagick常用指令(ImageMagick--蓝天白云)(ImageMagick官网)(其他比较有价值的IM参考)(图片自动旋转的前端实现方案)convert 转换图像格式和大小,模糊,裁剪,驱除污点,抖动,临近,图片上画图片,加入新图片,生成缩略图等。identify 描述一个或较多图... 阅读全文
posted @ 2014-09-02 13:11 ^_TONY_^ 阅读(35027) 评论(1) 推荐(0) 编辑
摘要: 一、Eclipse常见快捷键使用自动完成单词:Alt+/重命名:Shift+Alt+r(统一改变字段或方法名)生成getter/setter方法:Shift+Alt+s,然后r删除当前行:Ctrl+d定位到前(后)一个编辑点:标准为Alt+左(右)箭头,修改方法为:Windows->preferen... 阅读全文
posted @ 2014-09-01 23:44 ^_TONY_^ 阅读(7311) 评论(0) 推荐(3) 编辑
摘要: tail命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail-ffilename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.1.命令格式;tail[必要参数][选择参数][文件]2.命令功能:用于显示指定文... 阅读全文
posted @ 2014-09-01 23:10 ^_TONY_^ 阅读(858) 评论(0) 推荐(0) 编辑
摘要: netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,... 阅读全文
posted @ 2014-09-01 23:08 ^_TONY_^ 阅读(1831) 评论(0) 推荐(0) 编辑
摘要: Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如 阅读全文
posted @ 2014-09-01 23:06 ^_TONY_^ 阅读(132211) 评论(2) 推荐(1) 编辑
摘要: 实例一:设置临时环境变量在linux服务器上设置临时环境变量,当退出shell环境时,自动销毁exportJAVA_HOME=/usr/java/jdk1.6.0_32exportclasspath=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jarexportANT_H... 阅读全文
posted @ 2014-09-01 23:05 ^_TONY_^ 阅读(2752) 评论(1) 推荐(0) 编辑
摘要: killLinux中的kill命令用来终止指定的进程(terminateaprocess)的运行,是Linux下进程管理的常用命令。通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID... 阅读全文
posted @ 2014-09-01 23:04 ^_TONY_^ 阅读(13447) 评论(1) 推荐(0) 编辑
摘要: Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前 阅读全文
posted @ 2014-09-01 23:03 ^_TONY_^ 阅读(909) 评论(0) 推荐(0) 编辑
摘要: 1、locatelocate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在执行loacte时直接找该索引,查询速度会较快,索引数据库一般是由操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。命令参数:-e... 阅读全文
posted @ 2014-09-01 23:01 ^_TONY_^ 阅读(5347) 评论(0) 推荐(0) 编辑