- 博客(91)
- 资源 (1)
- 问答 (4)
- 收藏
- 关注
翻译 Nginx启动错误:error while loading shared libraries: libpcre.so.1
1/usr/local/nginx/sbin/nginx2/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory从错误提示信息可以得知是因为缺少lib文件导致,进一步...
2019-08-03 13:22:01 2682
转载 Keepalived Nginx 实现高可用路由
1.Keepalived高可用软件Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,keepalived除了能够管理LVS软件外,还可以作为其他服务的高可用解决方案软件。keepalived软件主要是通过VRRP协议实现高可用功能的。VRRP是Virtual Rou...
2019-08-03 12:25:23 248
转载 消息总线MQ
1 什么时候用MQ?1.1 MQ的基本概念 消息总线(Message Queue,MQ),是一种跨进程的通信机制,用于在上下游之间传递消息。MQ是一种常见的上下游“逻辑解耦+物理解耦”的消息通信服务,消息发送上游只需要依赖MQ,逻辑上和物理上都不用依赖其他服务。1.2 MQ的使用场景场景一:数据驱动的任务依赖 有些任务之间有一定的依赖关系,比如:task3需要使用task2...
2018-07-23 14:09:07 1153
转载 JS图片自动和可控的轮播切换特效
JS图片自动和可控的轮播切换特效<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8"/><title>JS图片自动和可控的轮播切换特效 - 何问起 HoverTree</title&g
2018-07-16 15:29:24 751
转载 Jquery编写插件
引言: 在项目中不同页面经常要用到已经写好的交互,比如弹窗,比如下拉菜单,比如选项卡,比如删除...此时如果每次都把代码copy一份无疑是一件比较麻烦并且无趣的事情,而且个人认为有些low了,我们可是要追寻高大上的90后有为青年呢~可是该如何高大上呢?这时jQuery自定义插件开发来了,第一次听到插件开发觉得如此happy,遂动手网上查找资料进行学习,如下,我用自...
2018-07-15 23:29:22 1371
转载 日志与log4j2的配置和应用总结
简介 通常我们在日常的应用开发中,日志起到一个非常重要的作用。对于不同的环境来说,我们不可能像开发环境那样有一个完善的支持。这时候日志的作用就更加凸显出来了。日志不仅仅用于开发的时候排查错误,在不同的环境下,它还可以用来检测系统的运行情况,甚至监控系统的性能指标。所以,我们有必要对于日志的来由和使用做一个深入的理解。这里结合目前最常用的日志框架log4j2来进行讨论。 log应用的几个要素为...
2018-07-14 18:17:05 806
转载 FreeMarker常见用法
一、认识FreeMarkerFreeMarker是一款模板引擎:一种基于模板的、用来生成输出文本的通用工具。类似模板引擎还有Velocity,Common Template等。对于java web开发来说,使用FreeMarker模板,可以将java代码从页面中分离出来。开发人员只需关注业务逻辑代码,而由页面设计人员去设计显示效果,两类人员各司其职,发挥其擅长的一面。FreeMarker注释:类似...
2018-06-13 16:45:25 1004
转载 java设置一段代码执行的超时时间的简单方法 间接实现获取Connection超时问题
最近有个需求, 当DB压力过大时获取Connction的时间过慢长时间不返回的话, 就不连接DB了, 研究了好久,DataSource里面的setLoginTimeOut 根本没法用, 刚开始一直纠结在大google搜索"java get connection 超时"答案上, 但始终找不到答案, 偶然尝试了下"java 设置超时" 问题就迎刃而解了. java早已经给我们提供了解决方案。jdk1....
2018-06-11 10:30:30 2654
转载 装饰者模式
原地址:http://blog.csdn.net/huangshanchun/article/details/49764911这两天在学习java基础相关的东西,学到I/O操作时候,在读写文本文件时候,以读文件为例,常常会使用FileReader和BufferedReader两个类,其实可以通过JDK文档和源码不难发现BufferedReader底层用的还是FileReader里的相关方法
2018-02-02 10:21:56 184
转载 Java三年经验 - 面试总结
Java三年经验 - 面试总结一轮面试下来,由最初的自信什么都能做,到现在感觉什么都不会做;但是面对面试官,却更坦然。对自己还能记得起来的面试题,稍微整理一下。欢迎指正。private、默认、protected、public作用范围1)private,同类2)默认,同类、同包3)protected,同类,同包,子类4)public,所有String trim的实
2017-12-05 11:41:02 8573 1
转载 GC
2.JAVA的垃圾回收机制 GC通过确定对象是否被活动对象引用来确定是否收集该对象。 2.1 触发GC(Garbage Collector)的条件 1)GC在优先级最低的线程中运行,一般在应用程序空闲即没有应用线程在运行时被调用。但下面的条件例外。 2)Java堆内存不足时,GC会被调用。当应用线程在运行,并在运行过程中创建新对象,若这时内存空
2017-12-05 11:40:23 190
转载 JVM内存结构
浅析JVM内存结构和6大区域内存作为系统中重要的资源,对于系统稳定运行和高效运行起到了关键的作用,Java和C之类的语言不同,不需要开发人员来分配内存和回收内存,而是由JVM来管理对象内存的分配以及对象内存的回收(又称为垃圾回收、GC),这对于开发人员来说确实大大降低了编写程序的难度,但带来的一个副作用就是,当系统运行过程中出现JVM抛出的内存异常(例如OutOfMemoryError)的时候
2017-12-05 11:39:33 171
转载 HashMap实现原理及源码分析
哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。目录 一、什么是哈希表 二、Ha
2017-12-05 11:37:31 181
转载 tomcat优化
tomcat默认参数是为开发环境制定,而非适合生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈。 tomcat内存优化linux修改TOMCAT_HOME/bin/catalina.sh,在前面加入JAVA_OPTS="-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m -Duser.tim
2017-12-05 11:35:37 132
转载 两个线程交替执行
描述两个线程,一个打印100内的奇数一个打印100内的偶数,交替执行。//要打印的资源public class Num { int i=1; boolean flag = false; //两个线程,交替执行的一个标志}//打印奇数的线程public class PrintQi implements Runnable{ Num num ;
2017-12-05 11:34:23 1746
转载 RabbitMQ概念
你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本文将要介绍的RabbitMQ就是当前最主流的消息中间件之一。RabbitMQ简介
2017-11-23 11:15:15 183
转载 MySQL性能分析及explain的使用
MySQL性能分析及explain用法的知识是本文我们主要要介绍的内容,接下来就让我们通过一些实际的例子来介绍这一过程,希望能够对您有所帮助。1.使用explain语句去查看分析结果如explain select * from test1 where id=1;会出现:id selecttype table type possible_keys key key_len ref r
2017-11-20 11:19:39 170
转载 为什么索引会增加速度
首先明白为什么索引会增加速度,DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加查询的速度。那么在任何时候都应该加索引么?这里有几个反例:1、如果每次都需要取到所有表记录,无论如何都必须进行全表扫描了,那么是否加索引也没有意义了。2
2017-11-20 10:58:42 1676
转载 ArrayList和LinkedList的区别
ArrayList和Vector使用了数组的实现,可以认为ArrayList或者Vector封装了对内部数组的操作,比如向数组中添加,删除,插入新的元素或者数据的扩展和重定向。LinkedList使用了循环双向链表数据结构。与基于数组ArrayList相比,这是两种截然不同的实现技术,这也决定了它们将适用于完全不同的工作场景。LinkedList链表由一系列表项连接而成。一个表项总是包含3
2017-11-20 10:25:15 200
转载 MySQL索引类型总结和使用技巧以及注意事项
在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:复制代码 代码如下:CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL );我们随机向里面插入了10000条记录,其中有一条:5555, admin。在查找username="admin"的记录
2017-11-19 22:30:42 176
转载 mysql中的左连接、内连接、右连接和全连接理解
内连接(INNER JOIN)(典型的连接运算,使用像 = 或 <> 之类的比较运算符)。包括相等连接和自然连接。 内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行 左连接(LEFT JOIN 或 LEFT OUTER JOIN)是右左边表中的数据为基准,若左表有数据右表没有数据,否则显示左表中的数据右表中的数据显示为空 右连接(RIGHT
2017-11-16 11:58:36 541 1
转载 linux 常用命令
1.查找文件find / -name filename.txt 根据名称查找/目录下的filename.txt文件。find . -name “*.xml” 递归查找所有的xml文件2.查看一个程序是否运行ps –ef|grep tomcat 查看所有有关tomcat的进程3.终止线程kill -9 19979 终止线程号位19979的进程pkill -9 java 批
2017-11-16 11:52:42 157
转载 jquery选择器
$("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div") 选择所有的div标签元素,返回div元素数组 $(".myClass") 选择使用myClass类的css的所有元素 $("*") 选择文档中的所有的元素,可以运用多种的选择方式进行联合选择:例如$("#myEL
2017-11-16 11:32:58 139
转载 jquery面试
JavaScript 是客户端脚本的标准语言,而 jQuery 使得编写 JavaScript 更加简单。你可以只用写几行的jQuery 代码就能实现更多的东西. 它是最长被用到的 JavaScript 库之一,并且现在已经很少有不用jQuery 而使用原生 JavaScript 的新项目了。这对于作为一个 Java web 开发者的你而言意味着你会在一场Java web开发面试中发现许多jQue
2017-11-16 11:26:33 577
转载 乐观锁与悲观锁
在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种思想。其实不仅仅是关系型数据库系统中有乐观锁和悲观锁的概念,像memcache、hibernat
2017-11-16 11:11:02 124
转载 java 防止 XSS 攻击的常用方法总结.
在前面的一篇文章中,讲到了java web应用程序防止 csrf 攻击的方法,参考这里 java网页程序采用 spring 防止 csrf 攻击. ,但这只是攻击的一种方式,还有其他方式,比如今天要记录的 XSS 攻击, XSS 攻击的专业解释,可以在网上搜索一下,参考百度百科的解释 http://baike.baidu.com/view/2161269.htm, 但在实际的应用中如何去防
2017-11-16 10:36:14 1902
转载 防止sql注入
一、SQL注入简介SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。二、SQL注入攻击的总体思路1.寻找到SQL注入的位置2.判断服务器类型和后台数据库类型3.针对不通的服务器和数据库特点进行SQL注入攻击三、SQL注入攻击实例比如在一
2017-11-16 10:28:09 143
转载 几种简单的负载均衡算法及其Java代码实现
什么是负载均衡负载均衡,英文 名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种 负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。负载均衡能够平均分配客户请求到服 务器阵列,借此提供快速获取重要数据,解决大量并发访
2017-11-16 09:54:15 113
转载 二分查找
算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是有序不重复的。 基本思想:假设数据是按升序排序的,对于给定值 x,从序列的中间位置开始比较,如果当前位置值等于 x,则查找成功;若 x 小于当前位置值,则在数列的前半段中查找;若 x 大于当前位置值则在数列的后半段中继续查找,直到找到为止。假设有一个数组 { 12, 23, 34, 45, 56, 67, 77, 89, 90 },现
2017-11-16 00:03:26 173
转载 异常的捕获顺序
Java代码 import java.io.IOException; public class ExceptionTryCatchTest { public void doSomething() throws IOException{ System.out.println("do somthing"); } public static
2017-11-16 00:00:07 701
翻译 积极准备(面试)
http://blog.csdn.net/u011170921/article/details/52213502http://blog.csdn.net/dream_lixiang/article/details/59483076http://blog.csdn.net/u013027996/article/details/21716375http://blog
2017-11-15 23:00:09 203
转载 Java事务1-8
Java中的事务处理有多简单?在使用EJB时,事务在我们几乎察觉不到的情况下发挥着 作用;而在使用Spring时,也只需要配置一个TransactionManager,然后在需要事务的方法上加上Transactional注解就行 了。Java的事务处理之所以这么简单是因为框架在背后为我们做了太多的工作。这样,我们虽然可以快速地完成开发工作,但是一旦程序出现问题,在一阵 google和stackov
2017-11-14 11:30:20 254
转载 JDBC中的Statement和PreparedStatement的区别
以Oracle为例吧Statement为一条Sql语句生成执行计划,如果要执行两条sql语句select colume from table where colume=1;select colume from table where colume=2;会生成两个执行计划一千个查询就生成一千个执行计划!PreparedStatement用于使用绑定变量重用执行计划
2017-11-09 20:32:17 165
转载 JDBC执行存储过程的四种情况(Mysql)
jdbc调用存储过程:经常使用的4种: 1. 返回结果集的proc 2. 输出参数 3.使用带有返回状态的存储过程 4.受影响行数 以下为mysql的存储过程 sqlServer同理案例1: 返回结果集的p
2017-11-09 20:13:26 2674
转载 JDBC执行存储过程的四种情况
本文主要是总结 如何实现 JDBC调用Oracle的存储过程,从以下情况分别介绍:[1]、只有输入IN参数,没有输出OUT参数[2]、既有输入IN参数,也有输出OUT参数,输出是简单值(非列表)[3]、既有输入IN参数,也有输出OUT参数,输出是列表[4]、输入输出参数是同一个(IN OUT)【准备工作】 创建一个测试表TMP_MICHAEL ,并插入数据,SQL如下:
2017-11-09 20:05:33 385
转载 Object
从本篇开始,将对Java中各知识点进行一次具体总结,以便对以往的Java知识进行一次回顾,同时在总结的过程中加深对Java的理解。Java作为一个庞大的知识体系,涉及到的知识点繁多,本文将从Java中最基本的类java.lang.Object开始谈起。Object类是Java中其他所有类的祖先,没有Object类Java面向对象无从谈起。作为其他所有类的基类,Object具有哪些属性和行为
2017-11-08 16:57:56 213
转载 分布式session解决方案
前言在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A、B两台服务器,用户在第一次访问网站时,Nginx通过其负载均衡机制将用户请求转发到A服务器,这时A服务器就会给用户创建一个Session。当用户第二次发送请求时,Nginx将其负载均衡到B服务器,而这时候B服务器并不存在Session,所以就会
2017-11-08 10:23:17 186
转载 MySQL优化原理
说起MySQL的查询优化,相信大家积累一堆技巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。 MySQL逻辑架构如果能在头脑中构建一幅M
2017-11-05 20:02:41 132
转载 mysql 触发器after与before的区别
接上篇日志建的商品表g和订单表o和触发器假设:假设商品表有商品1,数量是10;我们往订单表插入一条记录:insert into o(gid,much) values(1,20);会发现商品1的数量变为-10了。这就是问题的所在,因为我们之前创建的触发器是after,也就是说触发的语句是在插入订单记录之后才执行的,这样我们就无法判断新插入订单的购买数量。 先讲一下after和
2017-11-05 19:15:32 3389
转载 mysql 触发器
触发器(trigger):监视某种情况,并触发某种操作。触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete)3.触发时间(after/before) 4.触发事件(insert/update/delete)语法:create trigger triggerNameafter/before insert/update/dele
2017-11-05 19:14:19 124
jboss eap 6.4 启动报错,,,jboss eap 6.4 启动报错
2017-09-12
js,jquery,表单验证
2015-05-27
workspace自动关闭,有workbench的错误日志
2015-05-22
ssh整合,bean配置的问题
2015-05-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人