- 博客(168)
- 收藏
- 关注
转载 第六章 ReentrantLock源码解析2--释放锁unlock()
最常用的方式: int a = 12; //注意:通常情况下,这个会设置成一个类变量,比如说Segement中的段锁与copyOnWriteArrayList中的全局锁 final ReentrantLock lock = new ReentrantLock(); lock.lock();//获取锁
2017-11-01 13:37:25 585
转载 第五章 ReentrantLock源码解析1--获得非公平锁与公平锁lock()
最常用的方式: int a = 12; //注意:通常情况下,这个会设置成一个类变量,比如说Segement中的段锁与copyOnWriteArrayList中的全局锁 final ReentrantLock lock = new ReentrantLock(); lock.lock();//获取锁
2017-11-01 13:32:25 353
转载 SSH&SSL弱加密算法漏洞修复
一、SSHSSH的配置文件中加密算法没有指定,默认支持所有加密算法,包括arcfour,arcfour128,arcfour256等弱加密算法。修改SSH配置文件,添加加密算法:vi /etc/ssh/sshd_config最后面添加以下内容(去掉arcfour,arcfour128,arcfour256等弱加密算法):Ciphers aes128-ctr,aes192-ctr,
2017-10-18 17:35:51 32027 3
转载 Linux下安装及简单使用nmap
nmap是一款非常实用的扫描工具,适用于linux、windows、mac三大主流平台。小编使用centos编译安装nmap-7.01版本。 下载包:$wget http://nmap.org/dist/nmap-7.01.tar.bz21解压:$tar -xvf nmap-7.01.tar.bz2 1进入解压后的文件夹,取得root权限,执行#./configure,
2017-10-18 16:14:08 9396 1
转载 JVM 内存结构
所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问题就会变的非常常见,了解JVM内存也是为了服务器出现性能问题的时候可以快速的了解那块的内存区域出现问题,以便于快速的解决生产故障。先看一张图,这张图能很清晰的说明JVM内存结构布局。Java的
2017-10-17 11:23:06 221
转载 JVM 参数设置
示例为默认值的不需要配置,使用默认设置JVM参数参数名称含义默认值示例说明-Xms初始堆大小物理内存的1/64(-Xms1000M默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制.-Xmx最大堆大小物理内存的1/4(-Xms1000M
2017-10-17 11:02:34 9806
转载 JVM 调优 - 命令篇
运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole、大名鼎鼎的VisualVM,IBM的Memory Analyzer等等,但是在生产环境出现问题的时候,一方面工具的使用会有所限制,另一方面喜欢装X的我们,总喜欢在出现问题的时候在终端输入一些命令来解决。所有的工具几乎都是依赖于jdk的接口和底层的这些命令,研究这些命
2017-10-17 10:47:50 358
转载 超强、超详细Redis数据库入门教程
这篇文章主要介绍了超强、超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下redis是什么redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。redis的官网地址,非常好记,是redis.io。(特意查了一下,域名后缀io属于国家域名,是british Indian Ocean territ
2017-10-16 17:13:39 245
转载 Java中Semaphore(信号量)的使用
Semaphore的作用:在java中,使用了synchronized关键字和Lock锁实现了资源的并发访问控制,在同一时间只允许唯一了线程进入临界区访问资源(读锁除外),这样子控制的主要目的是为了解决多个线程并发同一资源造成的数据不一致的问题。在另外一种场景下,一个资源有多个副本可供同时使用,比如打印机房有多个打印机、厕所有多个坑可供同时使用,这种情况下,Java提供了另外的并发访问控制
2017-10-16 14:18:17 298
转载 Java 里如何实现线程间通信
正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。本文涉及到的知识点:thread.join(), object.wait(), object.notify(), CountdownLatch, CyclicBarrier, FutureTask, Callable 等。本文涉及代码:http
2017-10-13 10:00:40 176
转载 JVM面试题
11.JVM内存分哪几个区,每个区的作用是什么?Java虚拟机主要分为以下一个区:方法区:1. 有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载2. 方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。3. 该区域是被线程共享的。4. 方法区里有一个
2017-08-05 21:28:20 264
转载 IntelliJ IDEA激活方式
IntelliJ IDEA的在线注册码生成页面 http://idea.iteblog.com新的License server地址为:http://idea.iteblog.com/key.php
2017-04-25 09:46:25 721
转载 RateLimit--使用guava来做接口限流
一、问题描述 某天A君突然发现自己的接口请求量突然涨到之前的10倍,没多久该接口几乎不可使用,并引发连锁反应导致整个系统崩溃。如何应对这种情况呢?生活给了我们答案:比如老式电闸都安装了保险丝,一旦有人使用超大功率的设备,保险丝就会烧断以保护各个电器不被强电流给烧坏。同理我们的接口也需要安装上“保险丝”,以防止非预期的请求对系统压力过大而引起的系统瘫痪,当流量过大时,可以采取拒绝或者引
2017-04-21 11:23:45 588
转载 JSch - Java实现的SFTP(文件上传详解篇)
JSch是Java Secure Channel的缩写。JSch是一个SSH2的纯Java实现。它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到你自己的应用程序。 本文只介绍如何使用JSch实现的SFTP功能。 SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供
2017-04-17 17:47:22 1436
转载 xftp
依赖jar包:jsch-0.1.43.jar下载地址http://www.jcraft.com/jsch/[java] view plain copypackage com.sftp; /* * Created on 2009-9-14 * Copyright 2009 by www.xfok.n
2017-04-17 17:30:49 355
转载 使用Redis存储Nginx+Tomcat负载均衡集群的Session
环境:Cent OS 7.0(虚拟机环境)、Nginx 1.9.8、Redis 3.2.1一、背景在使用Nginx+Tomcat实现负载均衡的时候,由于Nginx对不同的请求分发到某一个Tomcat,Tomcat在运行的时候分别是不同的容器里,因为会出现session不同步或者丢失的问题。二、Nginx安装与配置1、Nginx安装网上的资源对于安装Nginx
2017-04-17 10:11:55 540
转载 lombok介绍及基本使用方法
Lomboz是一个基于LGPL的开源J2EE综合开发环境的Eclipse插件,对编码,发布,测试,以及debug等各个软件开发的生命周期提供支持,支持JSP,EJB等。Lomboz是Eclipse的一个J2EE的插件,它将很多Java应用服务器、J2EE组件和Web应用开发集成到Eclipse中,可以帮助Java开发者使用Eclipse建立、测试、部署J2EE应用。 在htt
2017-02-09 09:08:17 668
转载 Tomcat中的线程池(APR和ThreadPool)
一、容器简化了程序员自身的多线程编程。 各种Web容器,如Tomcat,Resion,Jetty等都有自己的线程池(可在配置文件中配置),所以在客户端进行请求调用的时候,程序员不用针对Client的每一次请求,都新建一个线程。而容器会自动分配线程池中的线程,提高访问速度。 二、Tomcat线程池实现:1、使用APR的Pool技术,使用了JNI。
2017-01-20 14:10:20 363
转载 MyEclipse安装JS代码提示(Spket插件)
近期需要大量使用JS来开发,但是MyEclipse2014自带的JS编辑器没有代码提示的功能,开发效率有点低,所以安装了一个Spket的插件,过程非常简单,SVN插件的安装比这个更简单。 Spket插件的安装: 首先下载插件:http://download.csdn.net/detail/u012909091/7335891
2016-06-21 09:11:46 347
转载 quartz的集群问题
在集群环境下,大家会碰到一直困扰的问题,即多个 APP 下如何用 quartz 协调处理自动化 JOB 。大家想象一下,现在有 A , B , C3 台机器同时作为集群服务器对外统一提供 SERVICE :A , B , C 3 台机器上各有一个 QUARTZ ,他们会按照即定的 SCHEDULE 自动执行各自的任务。我们先不说实现什么功能,就说这样的架构其实有点像多线程。
2015-12-14 08:54:46 860
转载 java.lang.UnsupportedClassVersionError: *** : Unsupported major.minor version 51.0
今天写代码时碰见一个这样的错误:java.lang.UnsupportedClassVersionError: com/ui/Test : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.d
2015-12-11 09:46:38 510
转载 HttpURLConnection 直接发送soap消息调用webservice
import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import java.text.DateFormat;import java.tex
2015-09-02 14:07:37 1377
转载 WMB 使用Compute节点连接Oracle数据库实例
WMB这方面的资料少的可怜,几乎是找不到,. 我既然是WMB开发者的一员,.尽情的分享自己的经验.写一个小小WMB连接数据库实例, 帮助自己也方便大家,.废话不多说.直奔主题.. 在使用ODBC连接数据库之前,.大概需要如下步骤: 1.安装oracle数据库. 安装好之后,并且建立表,比如我建立两个表; 表一:CUST
2015-06-29 14:02:29 946
转载 JIRA从HSQL切换到MySQL
1.1 导出JIRA数据如果已经使用了jira,先做个xml的备份。1.2 关闭JIRA执行jira-shutdown.bat的命令1.3 已知问题如果MY sql已经和以下服务一起使用可能会出现问题jira 3.13 或更高tomcat 5.5.25 或更高tomcat 6.0.13或更高2. 配置My SQL创建用于连接的用户,建议jiradbuse
2015-04-15 14:46:09 1533
转载 HQL select 总结
1. 查询整个映射对象所有字段 Java代码 //直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段 String hql = "from Users"; Query query = session.createQuery(hql); L
2015-04-14 16:59:23 251
转载 ORA-14402: 更新分区关键字列将导致分区的更改
分区表分区字段的update操作默认情况下,oracle的分区表对于分区字段是不允许进行update操作的,如果有对分区字段行进update,就会报错——ORA-14402: 更新分区关键字列将导致分区的更改。但是可以通过打开表的row movement属性来允许对分区字段的update操作。打开row movement属性SQL> alter table test_part en
2015-04-14 16:59:03 678
转载 验证码显示不了,报Could not initialize class sun.awt.X11GraphicsEnvironment
在linux下重新安装了一个tomcat后,打开网页后,发现验证码显示不了,报Could not initialize class sun.awt.X11GraphicsEnvironment的异常,但在window下却又可显示的,不知为何?上网一查,说没是加载java.awt.headless,于是修改${TOMCAT_HOME}/bin/catalina.sh (windows修改cata
2015-04-14 16:55:23 870
转载 Linux中的错误:too many open files
这个问题的出现原因是system对程序打开files数量的限制问题。 用 ulimit -a 命令可以查看 可以看出,对open files的限制数是1024,我们可以通过修改这个值来增加可以打开的文件数。 ****************************************************************** 临时修改: 将其改为2048,用
2015-04-14 16:53:18 354
转载 Linux安装MySQL的两种方法
1. 运行平台:CentOS 6.3 x86_64,基本等同于RHEL 6.32. 安装方法:安装MySQL主要有两种方法:一种是通过源码自行编译安装,这种适合高级用户定制MySQL的特性,这里不做说明;另一种是通过编译过的二进制文件进行安装。二进制文件安装的方法又分为两种:一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件;第二种
2015-04-09 09:56:58 280
转载 Exception in thread "main" java.lang.NoSuchMethodError: org.apache.commons.digester.Digester.parse(L
Resolve: commoms-chain-1.2 + commons-digester 1.8.1Discussion: commoms-chain 中解析 xml 文件用到了 commons-digester ,2者的版本不协调导致出现该异常。
2015-04-02 17:00:14 1327
转载 javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryI
在jdk安装路径下/jre/lib下面jaxp.properties中内容改为下面的类就可以了javax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpljavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apa
2015-04-02 16:57:14 2886
转载 linux下tomcat无法访问问题(换一种说法:无法访问8080端口)
有时候linux下的tomcat其他机器无法访问,比如主机无法访问linux虚拟机的tomcat,这是因为tocat的端口,linux没有对外开放,所以只能localhost访问,但是别的机器访问不了;解决方法如下编辑linux的iptables文件:vi /etc/sysconfig/iptables复制一句:已经开放22端口的命令改为8080就好:-A INPUT -m state
2015-04-02 16:51:59 5504 2
转载 WordPress本地环境搭建及安装图文教程
Wordpress强大的可扩展性和易用性等功能,使得越来越多的人选择它来建立自己的博客和网站。那么新手朋友该如何入手呢,今天制作这个教程就是旨在帮助新手朋友快速入门,从而为今后WP建站打下坚实的基础。由于是针对初学者,故文中多采用通语言而少用专业术语。工具/原料XAMPP软件包Wordpre
2015-03-30 10:44:48 677
转载 手动升级Eclipse的Ant插件
ant 现在最新版为 1.8.2 ,使用它可以解决运行 test-java 时出现的 ***.properties can not found 的错误,但至于 process fork faild 的问题还没解决。手动升级过程很简单:1> 下载最新版的ant。下面是下载地址,选择 .zip archive: apache-ant-1.8.2-bin.zip 即可http://ant
2015-03-17 11:47:41 791
转载 解决java compiler level does not match the version of the installed java project facet
java compiler level does not match the version of the installed java project facet错误的解决因工作的关系,Eclipse开发的Java项目拷来拷去,有时候会报一个很奇怪的错误。明明源码一模一样,为什么项目复制到另一台机器上,就会报“java compiler level does not match the
2015-03-17 10:28:45 393
转载 ORACLE——ROWNUM解析(使用ROWNUM大于条件,无法得到任何查询结果)
标题:Oracle中的rownum不能使用大于>的问题转自网络,稍做修改:一、对rownum的说明 关于Oracle 的 rownum 问题,很多资料都说不支持SQL语句中的“>、>=、=、between...and”运算符,只能用如下运算符号“ 并非说用“>、>=、=、between..and”时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似
2015-03-16 13:47:30 569
转载 crontab提示command not found的解决方法
近期要用crontab执行一些命令:定期让系统时间和硬件时间同步。因为我总是发现我的linux服务器时间会变慢,最后想到同步这个办法。 一开始,我将命令:*/1 * * * * root hwclock --hctosys 写到 /root/spool/cron/root文件(直接敲入命令crontab -u root -e 可对其进行编辑),但是总是在执行后root用户收到一封邮
2015-02-28 13:51:18 11090
转载 Linux下用SCP无需输入密码传输文件
在Linux环境下,两台主机之间传输文件一般使用scp命令,通常用scp命令通过ssh获取对方linux主机文件的时候都需要输入密码确认。不过通过建立信任关系,可以实现不输入密码。这里假设A的IP:192.168.10.1B的IP:192.168.10.2需要从A免密码输入复制文件至B。1. 在主机A上执行如下命令来生成配对密钥: ssh-keygen -t rsa
2015-02-28 11:39:14 324
转载 linux下添加定时任务
linux下定时执行任务的方法 在LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /clearigame2内容到里面 :wq 保存退出。在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为
2015-02-28 11:36:08 340
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人