- 博客(120)
- 资源 (3)
- 收藏
- 关注
转载 服务器无状态与有状态解释
对于服务器程序来说,有个基本假设,即服务器是基于状态请求,还是基于无状态请求。根据这个假设,可以将服务器划分为状态服务器和无状态服务器。状态服务器如果是状态化请求,那么服务端一般需要保存请求的相关信息,每个请求可以默认地使用以前的请求信息。状态服务器具有以下特点: - 保存客户请求的数据(状态) - 服务端容易对客户状态进行管理 - 服务端并不要求每次客户请求都
2018-01-25 23:06:38 2911
原创 nginx反向代理后,重定向失败问题
nginx在做反向代理到后端服务器,如果后端服务器有重定向,会出现返回服务器的ip地址,解决办法:server { listen 80; server_name www.boke.com; location / { proxy_pass http://192.168.1.100:8080;#增加下面配置进行重定向到nginx的
2018-01-18 14:55:49 16304 1
转载 nginx配置转发后,jsp页面用request.getserverPort获取端口为80的问题
nginx可以很方便的配置成反向代理服务器server {listen 80;server_name bothlog.com;location / {proxy_set_header Host $host;proxy_set_header X-Forwarded-For $remote_addr;proxy_pass http://127.0.0.1:9380;}}但是如果nginx的监听端口不是
2018-01-18 14:48:19 2311 1
原创 nginx 403 Forbidden错误的原因和解决方法
通过nginx访问静态资源时,提示403 Forbidden。解决办法:修改nginx.conf中 最上面user属性user 当前nginx运行的用户;在访问即可
2018-01-17 23:28:28 37002 5
转载 error while loading shared libraries 错误解决办法总结,
最近安装了装了几次ACE库,装起来会出现很多问题。 其实我发现直接按照ace的帮助文档进行编写。就差不多。安装完成后,经常会遇到以下问题error while loading shared libraries,就是编译器没有找到相应的lib库文件。 从互联网上找到了一些文章, 解决了我的问题:贴一下。缺少libclntsh.so.11.1当运行./aliba
2017-08-14 14:10:31 2807
转载 Java实现的断点续传功能
代码中已经加入了注释,需要的朋友可以直接参考代码中的注释。下面直接上功能实现的主要代码: import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.RandomAccessFile;
2017-02-23 17:40:13 592
转载 在java项目中的mongodb的_id被fastjson转为json时竟然丢失了
fastjson是阿里开发的一个javaBean和json解析器和封装器(源码位置),用过几次感觉挺好用的,也是国人的开源项目当然得支持,但最近项目在使用mongodb作为数据库时出现了_id丢失的问题,现将我遇到的问题和解决办法展示一下。现将错误的程序代码添加上,然后再提供解决方法:package org.jivesoftware.openfire.plugin.friends.test
2017-02-23 17:38:29 1642
转载 给大家推荐一个LRU实现算法的java 代码
http://www.source-code.biz/snippets/java/6.htmhttp://www.source-code.biz/snippets 下还有许多开源代码大家可以参考下,只可以代码不是很多啊,这个可以开源出来大家一起维护就好了!引子:我们平时总会有一个电话本记录所有朋友的电话,但是,如果有朋友经常联系,那些朋友的电话号码不用翻电话本我
2016-08-07 00:18:06 680
转载 聊聊并发(四)深入分析ConcurrentHashMap
本文是作者原创,发表于InfoQ:http://www.infoq.com/cn/articles/ConcurrentHashMap术语定义术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。 哈希表hash table根据设定的哈希函数H(key)和处理冲突方
2016-08-01 22:07:47 311
转载 java并发编程中CountDownLatch和CyclicBarrier的使用
java并发编程中CountDownLatch和CyclicBarrier的使用 在多线程程序设计中,经常会遇到一个线程等待一个或多个线程的场景,遇到这样的场景应该如何解决?如果是一个线程等待一个线程,则可以通过await()和notify()来实现;如果是一个线程等待多个线程,则就可以使用CountDownLatch和CyclicBarrier来实现比较好的控制
2016-07-18 13:46:26 361
转载 log4j日志输出性能优化-缓存、异步
1、log4j已成为大型系统必不可少的一部分,log4j可以很方便的帮助我们在程序的任何位置输出所要打印的信息,便于我们对系统在调试阶段和正式运行阶段对问题分析和定位。由于日志级别的不同,对系统的性能影响也是有很大的差距,日志级别越高,性能越高。 2、log4j主要分为error,warn,info,debug四个级别,也是使用最多的四种,日志级别从左至右依次增加。 3、log4j
2016-07-18 13:42:21 795
转载 web.xml中出现<servlet-name>default</servlet-name>是什么意思?
转:http://blog.csdn.net/hello5orld/article/details/9407905在web.xml文件中经常看到这样的配置default,这个配置的作用是:对客户端请求的静态资源如图片、JS文件等的请求交由默认的servlet进行处理,如下所示:[html] view plain copyprint?servl
2016-06-05 21:21:12 736
转载 全面剖析Redis Cluster原理和应用
1.Redis Cluster总览1.1 设计原则和初衷在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子。最核心的目标有三个:性能:这是Redis赖以生存的看家本领,增加集群功能后当然不能对性能产生太大影响,所以Redis采取了P2P而非Proxy方式、异步复制、客户端重定向等设计,而牺牲了部分的一致性、使用性。水平扩展:集群的最重要能力当
2016-05-30 11:59:32 1209
转载 链表结构之双端链表
双端链表:双端链表与传统链表非常相似.只是新增了一个属性-即对最后一个链结点的引用如上图所示:由于有着对最后一个链结点的直接引用.所以双端链表比传统链表在某些方面要方便.比如在尾部插入一个链结点.双端链表可以进行直接操作但传统链表只能通过next节点循环找到最后链结点操作.所以双端链表适合制造队列.下面的双端链表类.有几个重要方法.insertFirst(插入首链结点)这个方法
2016-05-26 18:23:53 473
转载 Linux里如何查找文件内容
Linux查找文件内容的常用命令方法。 从文件内容查找匹配指定字符串的行:$ grep "被查找的字符串" 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件grep "thermcontact" */*.in从文件内容查找与正则表达式匹配的行:$ grep –e “正则表达式” 文件名查找时不区分大小写:$ grep –i "被查找
2016-05-24 15:03:47 393
转载 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
安装和配置详解本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两个方面介绍 Zookeeper 的安装和配置。单机模式单机安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个目录如:/
2016-05-23 14:36:12 372
转载 解决Java从MySQL读取大量数据时卡在SocketInputStream.socketRead0的问题
今天晚上突然有个服务无法启动。这个服务在启动的时候会从数据库中加载一些数据。查看日志:有开始加载的日志,但没有完成加载的日志,判断问题是在加载数据时卡住。用top查看进程,发现CPU占用为0%。又怀疑可能是因为jvm内存不够,用jstat查看jvm内存使用情况,发现各区内存占用率较低,连young gc都没有出现。再用jstack查看线程栈,发现线程卡在JDBC底层的TCP套接字读取上: --
2016-05-19 16:00:00 13873
转载 jQuery的选择器中的通配符
1.选择器(1)通配符: $("input[id^='code']");//id属性以code开始的所有input标签 $("input[id$='code']");//id属性以code结束的所有input标签 $("input[id*='code']");//id属性包含code的所有input标签(2)根据索引选择 $("tbody t
2016-03-01 10:56:28 418
转载 linux系统安装mysql
inux安装mysql服务分两种安装方法:①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错;②使用官方编译好的二进制文件安装,优点是安装速度快,安装步骤简单,缺点是安装包很大,300M左右。以下介绍linux使用官方编译好的二进制包安装mysql。工具/原料mysql-5.6.17-l
2016-01-04 19:19:33 497
原创 paypal快速结账支付方式集成(java版)
最近一个海外项目需要paypal支付,之前没弄过,着实费了一番功夫,最终把paypal快速结账集成进了项目中去,现在用文档总结下。整的时候感觉很难,各种找资料,等真正整出来后,发现也就那样了。下面是整个代码:1、说下快速结账的整个流程, PayPal快速结账 :此种方式是paypal推荐的最佳集成网站付款解决方案。2、开始快捷支付: a.创建主账号(已有) b.登陆主账号,
2015-12-27 20:14:39 7780 7
转载 MySQL sql-mode
mysql的sql_mode合理设置sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入。在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也必须要设置,这样在开发测试阶段就可以发现问题 sql_mode常用值如下: ONLY_FULL_GROUP_BY:对于GROUP BY聚合操作,如
2015-12-23 23:22:01 392
转载 Redis配置和常用命令
redis.conf配置文件: 引用 #是否作为守护进程运行 daemonize yes #配置pid的存放路径及文件名,默认为当前路径下 pidfile redis.pid #Redis默认监听端口 port 6379 #客户端闲置多少秒后,断开连接 timeout 300 #日志显示级别 loglevel verbose
2015-12-23 10:48:33 358
转载 MySQL索引的创建、删除和查看
此文转自http://blogold.chinaunix.net/u3/93470/showart_2001536.html1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。 例如,有3个未索引的表t1、t2、t3,分别只包含列c1、c
2015-12-18 18:30:34 261
转载 Linux下Redis开机自启(Centos)
废话少说,直接来步骤:1、设置redis.conf中daemonize为yes,确保守护进程开启。2、编写开机自启动脚本vi /etc/init.d/redis脚本内容如下:# chkconfig: 2345 10 90 # description: Start and Stop redis PATH=/usr/local/bin:/
2015-12-06 06:44:56 409
转载 ssh登录报错-bash: fork: retry: Resource temporarily unavailable
引起该问题的原因可能是/etc/security/limits.d/90-nproc.conf文件中nproc达到了上限,或者上述配置文件只针对特定用户放开了限制,而其它用户依然还有限制。解决方法是修改nproc上限或者修改对应的用户账户,然后重启系统生效即可。注:此文件是CentOS 6版本后才后该文件,在CentOS 5.10中没有 执行步骤如下
2015-12-06 06:41:53 8364
转载 制作U盘启动来安装Linux系统的具体方法(图文)
一、安装所用到的工具盒软件 1、U盘一个(我建议用容量为8GB大的U盘,因为安装时得需要镜像文件。如果没那么 大的,1个GB的也可以,但这样你得再找个硬盘来存放镜像以便安装时用)。 2、刻录软件(我用的软件是UltraISO,当然别的软件也可以,只要能将启动文件写入U盘并成功启动即可)。 3、Linux系统镜像文件(我用的是CentOS-5.6-i386-bin-DVD.IS
2015-11-02 14:17:09 7044
转载 ajaxFileUpload+struts2实现异步上传文件
文件上传在项目中应该是非常常见的,而且很多时候,上传文件都只是一个小页面中的一个功能,要求在实现文件上传的前提下不刷新页面。而一般情况下将客户端的文件包装成网络地址传递到服务器端然后通过流来进行文件传输的任务都是使用浏览器来帮我们完成的,一般情况下,我们的form表单提交,我们自己可以手动拿到表单的值,然后封装起来,发送ajax请求,为了安全着想,js是不允许访问客户端的文件系统的,所以而文件传输
2015-10-31 14:13:49 707
转载 Linux 多线程调试(内存占用、死循环、CPU占用率高……)
你的软件在某个时刻停止服务,CPU占用达到100%+,这种问题一个可能的原因是产生了死循环,假设程序某处存在潜在的死循环,并在某种条件下会引发,本文以一个示例来定位出现死循环的位置。当程序某处存在死循环,通常定位问题及缩小范围的方法是,在可疑的代码处加log,或者注释掉可疑代码,这对于容易重现问题的程序来说还好,但对于“偶尔”才会产生问题程序却很难调试,因为我们很难重现程序故障。本文所述的调试
2015-10-22 15:48:15 626
转载 解决the NTP socket is in use, exiting问题
机房中的ESX4的服务器时间不对,ESX Server的时间准确比较重要,因为其上的VM(虚拟主机)的时间与其同步。在ESX4上使用NTP服务器同步时间,却遇到了“the NTP socket is in use, exiting”的问题,操作过程命令如下:[root@esx4 ~]# ntpdate ntp.api.bz21 Sep 14:39:09 ntpdate[24744]:
2015-09-11 15:41:24 122359 6
转载 linux时间同步,ntpd、ntpdate
在Windwos中,系统时间的设置很简单,界面操作,通俗易懂。而且设置后,重启,关机都没关系。系统时间会自动保存在Bios的时钟里面,启动计算机的时候,系统会自动在Bios里面取硬件时间,以保证时间的不间断。 但在Linux下,默认情况下,系统时间和硬件时间,并不会自动同步。在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。硬件时间的运行,是靠Bios电池来维持,
2015-09-11 15:39:08 538
转载 linux ntp ntpdate 同步时间
ntp同步时间实验服务端IP 192.168.1.101 客户端 192.168.1.88 一.登录server端1.首先配置ntpd服务vi /etc/ntp.conf 配置文件中一般有restrict default语句,#掉后选择,以下2种的一种 restrict default nomodify n
2015-09-11 15:38:07 752
转载 项目管理模式之如何去除SVN标记
当项目不需要SVN标志的时候,我们一般怎么办哪??可能很多人设置Windows显示隐藏文件,然后将项目中的所有.svn文件删除,这种方法是既费劲儿又蛋疼的方法。 下面,从网上找了个非常简单的方法,重新编辑后当为我自己的原创,希望原作者不要怪罪。 第一步:建立一个名字叫做remove-svn-folders.reg的文本(先建立txt文件,然后粘贴内容后再修改文件
2015-08-02 20:19:21 377
转载 Linux系统内存的Cached Memory
Linux系统内存的Cached Memory作者: hnb 日期: 2011年09月14日发表评论 (0)查看评论Linux与Windows不同,会存在缓存内存,通常叫做Cache Memory。有些时候你会发现没有什么程序在运行,但是使用top或free命令看到可用内存会很少。什么是Cache Memory(缓存内存):当你读写文件的时候,Lin
2015-07-16 13:39:37 403
转载 linux系统查看内存使用率
Linux下看内存和CPU使用率一般都用top命令,但是实际在用的时候,用top查看出来的内存占用率都非常高,如:Mem: 4086496k total, 4034428k used, 52068k free, 112620k buffersSwap: 4192956k total, 799952k used, 3393004k free, 1831700k cached
2015-07-16 13:38:47 488
转载 linux内存cached释放
http://hi.baidu.com/xingxuejun/item/36be551db5224f16e2f9864a我们用free命令查看系统内存使用情况的时候会发现:#free -m total used free shared buffers cachedMem:
2015-07-16 13:37:44 485
转载 linux系统安装mysql
linux安装mysql服务分两种安装方法:①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错;②使用官方编译好的二进制文件安装,优点是安装速度快,安装步骤简单,缺点是安装包很大,300M左右。以下介绍linux使用官方编译好的二进制包安装mysql。工具/原料mysql-5.6.17-
2015-07-06 14:17:06 563
转载 MySQL错误:Can't connect to MySQL server (10060)
当远程连接MySQL数据库的时候显示Can't connect to MySQL server (10060),我们从以下几个方面入手,找出错误的原因:1.网络不通。检查能不能ping通。2.防火墙设置。防火墙是否放过mysql的进程,是否屏蔽了mysql的3306端口。3.mysql的账户设置。mysql账户是否不允许远程连接。如果无法连接可以尝试
2015-07-06 14:16:15 395
转载 Redhat Linux安装JDK 1.7
本篇主要介绍在Redhat Linux(Red Hat Enterprise Linux Server release 5.7 (Tikanga))系统上安装JDK 1.7,其它Linux平台安装也大同小异,可能略有差别。步骤1:下载JDK 1.7 安装包JDK 1.7 下载地址:http://www.oracle.com/technetwork/java/javase/downl
2015-07-06 10:38:55 550
转载 jQuery EasyUI DataGrid Checkbox 数据设定与取值
纯粹做个记录,以免日后忘记该怎么设定。这一篇将会说明两种使用 jQuery EasyUI DataGrid 的 Checkbox 设定方式,以及在既有数据下将 checked 为 true 的该笔数据列的 Checkbox 设定为 Checked,另外就是两种 Checkbox 设定方式下如何取得有勾选的数据。有关 jQuery EasyUI DataGrid 的相关资料,可以前往
2015-06-08 17:36:49 615
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人