- 博客(33)
- 资源 (57)
- 收藏
- 关注
原创 java多线程之synchronized和锁对象
JDK1.5以后加入了concurrent包,主要是为了提高多线程的开发效率,此外还提供了很多支持并发的集合类(ConcurrentHashMap、CopyOnWriteArrayList)1、既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock? 1) synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为
2015-08-31 17:15:25 899
转载 easyui之datagrid动态修改列
easyui datagrid 定义列的方式通常是:$('#grid').datagrid({columns:[[ {field:'f1',title:'字段1',width:160}, {field:'f2',title:'字段2',width:160} ]]}); 但在实际项目中,我们会经常需要datagrid能动态生成列。在网上搜了一篇文章:再
2015-08-28 15:12:43 5073
转载 Oracle 10g新增DROP DATABASE命令
在10g以前,要彻底删除数据库,只有两个方法,一个是利用DBCA图形化工具删除数据库,另外一个就是关闭数据库后,手工删除数据文件、控制文件以及日志文件的方法。从10g开始,Oracle提供了DROP DATABASE的语法,使得数据库的删除变得非常的简单。 不过DROP DATABASE还是有一定的限制条件的:SQL> conn / as sysdbaConnecte
2015-08-28 10:44:50 1197
转载 基于 Annotation 拦截的 Spring AOP 权限验证方法
使用 Annotation 可以非常方便的根据用户的不同角色,分配访问 Java 方法的权限。在 Java Web 开发中,使用这种方法,可以提高系统的松耦合度,方便维护。在 Web 开发过程中,一个非常理想的开发过程是,开发人员在开发中并不需要关心权限问题,不需要在 Java 方法中写很多逻辑判断去判断用户是否具有合适的角色和权限,这样开发会花费非常多的人力成本,因为所有的开发人
2015-08-28 10:20:47 623
原创 java线程状态
1、线程的状态:• 新建状态:当new一个线程后,该线程处于新建状态,此时它和Java对象一样,仅仅由Java虚拟机为其分配内存空间,并初始化成员变量。此时线程对象没有表现出任何的动态特征,程序也不会执行线程的执行体.• 就绪状态(Runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cp
2015-08-27 17:31:04 735
转载 java线程interrupt()方法和线程终止方式
1、interrupt定义:• interrupt()的作用是中断本线程。• 本线程中断自己是被允许的;其它线程调用本线程的interrupt()方法时,会通过checkAccess()检查权限。这有可能抛出SecurityException异常。• 如果本线程是处于阻塞状态,调用线程的wait(), wait(long)或wait(long, int)会让它进入等待(阻塞)状态,或者
2015-08-27 17:25:16 803
转载 java多线程之join()方法
1、join()方法介绍:join() 定义在Thread.java中;join方法不是Thread类的static方法(和yield、sleep不一样)join() 的作用:让“主线程”等待“子线程”结束之后才能继续运行。这句话可能有点晦涩,我们还是通过例子去理解:// 主线程public class Father extends Thread { public voi
2015-08-27 15:47:41 860
原创 html5之video
Your browser does not support the video tag.video标签最好包含mp4、webM和ogg这三种源视频文件-可以跨浏览器。如果浏览器不支持html5,你可以使用flash作为后备!HTML5 Video 的Api可以用JavaScript访问,并使用他们来作为控制视频的媒介。(在video标签上使用controles属性后,播放器就已经自带了暂
2015-08-26 15:12:58 935
原创 windows下把本地代码同步到github上
1、在windows上安装gith客户端——msysgit,网址http://msysgit.github.io/下载。2、注册github帐号,然后在github上创建仓库3、然后在本地创建一个文件夹(名字和github上的仓库名一样,例如test),把要同步的代码文件放进去4、最后,按照github上的提示命令执行,如下: 1)本
2015-08-26 12:52:14 1367
转载 img如何在div中垂直居中?要支持所有浏览器
假设div(命名为ss)宽度为500px,高度为200px,图片高度宽度均为150px;则.ss img{width:150px;height:150px;display:block;margin-top:25px;margin-left:175px;}如果图片高度不确定,则设置成.ss img{position:absolute;left:50%;top:50%}
2015-08-25 10:25:47 1925
原创 Linux查看物理CPU个数、核数、逻辑CPU个数
一、概念:1、物理CPU:实际Server中插槽上的CPU个数2、CPU核数:一块CPU上面能处理数据的芯片组的数量,(比如现在的i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU)一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术 3、逻辑CPU :一般情况,我们认为一
2015-08-20 13:40:48 776
转载 Linux 禁ping和开启ping操作
Linux 禁ping和开启ping操作:# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all如果要恢复,只要:# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all即可,挺方便,不要去专门使用ipchains或者iptables了。或者用以
2015-08-19 14:41:32 1111
原创 后台执行命令:&和nohup command & 以及关闭、查看后台任务
当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨)。为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。1、& 当在前台运行某个作业时,终端被该作业占据;可以在命令后面加上& 实现后台运行。例如:sh tes
2015-08-18 17:37:58 33393 3
转载 linux shell中"2>&1"含义
脚本是: nohup /mnt/Nand3/H2000G >/dev/null 2>&1 & 对于& 1 更准确的说应该是文件描述符 1,而1一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用.他标准输出到all_result,然后复制标准输出到文件描述符2(STDERR_FILENO),其后果就是文件描述符1和2指向同一个文件表项,也可以说错误的输
2015-08-18 16:18:16 666
转载 easyui-validatebox 验证两次密码是否输入一致
1、扩展easyui的js代码:$.extend($.fn.validatebox.defaults.rules, { /*必须和某个字段相等*/ equalTo: { validator: function (value, param) { return $(param[0]).val() == value; }, message: '字段不匹配' }}
2015-08-17 17:21:02 4081
原创 哈希表极其应用
一、概念哈希表(Hash Table)也叫散列表,是一种数据结构,是根据关键码值(Key Value)而直接进行访问的数据结构。它通过把关键码值映射到哈希表中的一个位置来访问记录,以加快查找的速度。这个映射函数就做散列函数(也叫哈希函数),存放记录的数组叫做散列表。1)哈希表存储的是键值对,其查找的时间复杂度与元素数量多少无关,哈希表在查找元素时是通过计算哈希码值来定位元素的位置从
2015-08-13 15:42:41 1085
原创 线程上下文类加载器
线程上下文类加载器(context class loader)是从 JDK 1.2 开始引入的。类 java.lang.Thread中的方法 getContextClassLoader()和 setContextClassLoader(ClassLoader cl)用来获取和设置线程的上下文类加载器。如果没有通过 setContextClassLoader(ClassLoader cl)方法进行设
2015-08-13 11:14:06 1127
转载 Class.forName和ClassLoader.loadClass的区别
Class的装载分了三个阶段,loading,linking和initializing,分别定义在The Java Language Specification的12.2,12.3和12.4。Class.forName(className) 实际上是调用Class.forName(className, true, this.getClass().getClassLoader())。注意第二个参
2015-08-12 16:00:23 639
原创 URLClassLoader类加载器
从JDK源码上来看其实是URLClassLoader继承了ClassLoader,也就是说URLClassLoader把ClassLoader扩展了一下,所以可以理解成URLClassLoader功能要多点。ClassLoader只能加载classpath下面的类,而URLClassLoader可以加载任意路径下的类。他们的继承关系如下:public class URLClassLoader
2015-08-12 11:17:05 9943 2
原创 自定义类加载器:从网上加载class到内存、实例化调用其中的方法
1、JDK 默认提供了如下三种ClassLoader:BootStrap ClassLoader:称为启动类加载器,C++实现的,是Java类加载层次中最顶层的类加载器(JVM启动后初始化的),负责加载JDK中的核心类库,如:rt.jar、resources.jar、charsets.jar等;ExtensionClassLoader:称为扩展类加载器,负责加载Java的扩展类库,默认
2015-08-11 16:46:43 5703 1
原创 nodejs之socket.io模块——实现了websocket协议
Nodejs实现websocket的4种方式:socket.io、WebSocket-Node、faye-websocket-node、node-websocket-server,这里主要使用的是socket.io1、服务端:1)首先安装socket.io npm install socket.io2)server.jsvar app = require('http').c
2015-08-07 16:58:09 4515
原创 html5开发利器——sublimetext2+emmet插件
1、下载sublimetext2,地址:点击打开链接2、sublimetext是一文本编辑器,通过插件可以编程一个万能的IED。所以,为了管理插件,最好先安装一个package control插件。官网 安装方法有两种:方法一,在线安装,ctrl+` 打开控制台,然后输入一下脚本+回车,完成后重启即可(需要翻墙)import urllib2,os,hashlib; h = 'e
2015-08-07 14:32:20 2288
原创 nodejs之supervisor模块——提高nodejs调试效率
在开发nodejs程序,调试的时候,无论你修改了代码的哪一部分,都需要重启服务才能生效。这是因为Node.js 只有在第一次引用到某部份时才会去解析脚本文件,以后都会直接访问内存,避免重复载入。Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。supervisor 可以帮助你实现这个功能,它会监视你对
2015-08-07 10:49:05 1137
原创 springmvc controller单实例
Spring MVC Controller默认是单例的,为了提高性能(这个不用废话了,单例不用每次都new,当然快了。)如果你给controller中定义很多的属性,那么单例肯定会出现竞争访问了。因此,只要controller中不定义属性,那么单例完全是安全的。下面给个例子说明下:@Controllerpublic class MultViewController { private
2015-08-06 15:58:32 1186
原创 mysql数据库sql优化——子查询优化
1、什么是子查询、表关联查询:子查询:是指在主sql语句中的select或where子句中使用select查询语句;select a.name,(select b.name from b where b.id=a.id) from a where a.name lik 'a%'表关联查询:指多个表联合查询;select a.name,b.name from a,b where a.id=b
2015-08-06 13:06:15 3360
转载 mysql中单双引号的特殊使用 以及mysql常见的转移字符
mysql中单双引号使用 mysql中使用基本的DML类型的sql语句,“”和‘’是default string label symbols. 但是在实际情况中,经常出现下面的情况: Sql代码 SELECT book_id FROM pd WHERE isbn='9787542739810' and book_name='"祛魅"与"返魅"'; 这
2015-08-06 09:10:18 19753
原创 使用spring的aop进行权限拦截
一个SSI的项目(springmvc+mybatis),需要加上权限验证(非数据权限),考虑使用aop来实现。大致思路是使用自定义注解,在需要权限控制的方法前(controller层)使用注解定义方法所需的权限,然后使用AOP拦截访问的方法,在执行目标对象前通过反射取得目标对象所需的权限,然后从当前session中取得登陆用户,遍历用户所拥有的权限,如果有权限则继续执行目标对象,如果没有权限则跳转
2015-08-04 18:05:44 3452
原创 spring aop 如何切面到mvc 的controller
Aop有的人说拦截不到Controller。有的人说想拦AnnotationMethodHandlerAdapter截到Controller必须得拦截org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter。首先Aop可以拦截到Controller的,这个是毋容置疑的;其次须拦截Annot
2015-08-04 16:58:54 4729
原创 spring之aop编程——基于注解、xml配置文件方式
AOP(Aspect Oriented Programming),是面向切面编程的技术。AOP基于IoC基础,是对OOP的有益补充。spring中AOP的配置方式有2种方式:xml配置和AspectJ注解方式。一、xml配置的方式:1、service接口和服务类:package cn.edu.nuc.SpringTest.service;public interface D
2015-08-04 16:03:46 2911
转载 通俗说说DSP、SSP、RTB、DMP是什么
AdNetwork、AdExchange、DSP、SSP、RTB、DMP这些模式之间存在着内在的关系,所以在理解的时候,我们需要联系起来进行理解,不能分开。 1、RTB(RealTimeBidding,实时竞价): 定义:是一种利用第三方技术在数以百万计的网站上针对每一个用户展示行为进行评估以及出价的竞价技术。 个人理解:如果把互联网比作蜘蛛网,那么当任何一只小生物触碰到
2015-08-03 16:39:16 37323 2
原创 javassist库小实例
我们常用到的动态特性主要是反射,在运行时查找对象属性、方法,修改作用域,通过方法名称调用方法等。但反射的性能开销较大,Javassit是一个东京研究院开发的第三方库,提供了运行时操作Java字节码的方法。 类似字节码操作方法还有ASM,几种动态编程方法相比较,在性能上Javassist高于反射,但低于ASM。package fanshe;public class Person
2015-08-03 16:03:43 899
转载 MySQL group_concat() 长度限制
最近使用mysql group_concat()的时候发现总是有些结果是不完整的,原来group_concat()有长度限制1024,在my.ini中加上 group_concat_max_len = 200000 改大就行了。
2015-08-03 15:58:45 1055
原创 java通过反射+javassist获得方法所有信息(返回值、方法名、参数类型列表、参数列表)
众所周知,使用java的反射无法获得方法参数名列表,只能获得方法参数类型列表,在网上研究了一下,发现有下面两种方式实现:方案一:使用反射+javassit库static void javassistGetInfo() throws Exception{ Class clazz = Class.forName("fanshe.Person"); ClassPool pool = Cl
2015-08-03 11:36:07 9104 1
macOS eclipse Launcher
2023-12-18
parquet-tools-1.6.0rc3.zip
2020-07-24
jQuery-Plugin-For-Easily-Readable-JSON-Data-Viewer.zip
2019-12-31
yesmeck-jquery-jsonview-v1.2.3-14-g01b1eb8.zip
2019-12-30
linux解析json工具——jq
2017-09-16
jquery 全屏显示插件
2015-03-20
apache-maven-3.2.3-bin
2014-10-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人