关闭

同步、异步、阻塞、非阻塞的理解

同步/异步主要针对C端:同步: 所谓同步,就是在c端发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。 例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事异步: 异步的概念和同步相对。当c端一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部...
阅读(176) 评论(0)

集合操作的ConcurrentModificationException异常分析,为什么有时候循环remove不会异常?Iterator方式也会异常吗?

在我们代码中,禁止在foreach遍历list的时候直接使用list.remove()方法来删除元素的,会ConcurrentModificationException。不同的集合使用不同的方式,ArrayList,Vector,CopyOnWriteArrayList* **单线程情况:如果实际应用场景下有在遍历时删除元素的需求,如果容器为ArrayList或者Vector请使用Iterato...
阅读(314) 评论(0)

文章标题

Linux 修改文件字符集解决乱码 首先查看文件字符集file xxx.log,可以查看到当前文件的字符集,比如xxx.log的字符集是gbk 然后 iconv -f gbk -t utf-8 xxx.log,xxx.log的字符集即修改了...
阅读(125) 评论(0)

jenkins,Tomcat重启脚本,设置jvm参数之后遇到了一个坑。

如下是我的重启脚本 #/bin/sh source /etc/profile sh /opt/kms_jsoncach.sh pid=`ps -ef | grep "APPmanager" | grep -v 'grep\|tail\|more\|less'| awk '{print $2}'` 5 kill -9 $pid rm -f /opt/eAPPma...
阅读(1899) 评论(0)

深入理解JVM : Java堆中对象创建、布局、访问全过程

一、对象的创建new Animal();1.类加载检查:检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类的加载过程。2.为对象分配内存对象所需内存的大小在类加载完成后便完全确定,为对象分配空间的任务等同于把一块确定大小的内存从Java堆中划分出来。2.1根据Java堆中是否规整有两种内存的分配方式:(J...
阅读(1039) 评论(0)

nginx 反向代理和正向代理区别

一直对反射代理的反向不知道如何理解,经过百度知道,再结合下面这幅图,总算弄清楚一点了。简单的说从一个局域网出来到服务端为正向,从客户端要进入一个局域网为反向。 概念: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为...
阅读(321) 评论(0)

Java中的Copy-On-Write容器,CopyOnWriteArrayList和CopyOnWriteArraySet

Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。C...
阅读(621) 评论(0)

HashMap,LinkedHashMap,TreeMap,HashTable,ConcurrentHashMap,ConcurrentSkipListMap 关于k,v是否为null,以及输出排序

Map的k,v是否为可为null,遍历输出顺序使用场景...
阅读(378) 评论(0)

tomcat的acess_log打印post请求参数,分析日志

有的时候服务器端接口允许请求的方式多样化且不过定,没有nginx的内网服务还需要统计分析post请求日志 1) 在项目中加入相应的包和类,加载那里无所谓,只要web.xml配置正确即可 package filters;  import java.io.IOException;  import java.util.Enumeration;  import javax.servlet...
阅读(3111) 评论(0)

Git push与pull的默认行为

git push 通常对于一个本地的新建分支,例如git checkout -b develop, 在develop分支commit了代码之后,如果直接执行git push命令,develop分支将不会被push到远程仓库(但此时git push操作有可能会推送一些代码到远程仓库,这取决于我们本地git config配置中的push.default默认行为,下文将会逐一详解)。 因...
阅读(1245) 评论(0)

Maven解决多个jar包引入了不同版本jar包

通过 mvn dependency:tree 查看 多个包引入的依赖; 在eclipse中直接选中包,右->maven exclude maven artifact 即可...
阅读(428) 评论(0)

linux通过grep kill掉tomcat进程脚本,百分百kill掉

#!/bin/sh source /etc/profile pid=`ps -ef | grep "testtomcat" | grep -v 'grep\|tail\|less\|more'| awk '{print $2}'` if [ "$pid" != "" ] ; then kill -9 $pid rm -f /opt/testtomcat/pid el...
阅读(600) 评论(0)

jenkins发布项目到远程主机上,配置两台linux如何使用SSH免密码登录

一、首先要配置两台linux如何使用SSH免密码登录,这样脚本执行scp命令以及远程执行脚本都不需要输入密码: A为本地主机(即用于控制其他主机的机器,jenkins服务器) ; B为远程主机(即被控制的机器Server,jenkins运行之后发布项目的服务器), 假如ip为192.168.1.100 ; A和B的系统都是Linux在A上的命令:ssh-keygen -t rsa (连续三次回...
阅读(3435) 评论(0)

linux的/dev/null 2>&1 &含义

在学习Linux的过程中,常会看到一些终端命令或者程序中有”>/dev/null 2>&1 “出现,由于已经遇到了好几次了,为了理解清楚,不妨花点时间百度或者google一下相关的知识。0:表示键盘输入(stdin) 1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr)command >/dev/null 2>&1 & == command 1>/dev/null...
阅读(300) 评论(0)

Linux 1>/dev/null 2>&1的含义

Linux 1>/dev/null 2>&1的含义shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出/dev/null 代表空设备文件 代表重定向到哪里,例如:echo “123” > /home/123.txt 1 表示stdout标准输出,系统默认值是1,所以”>/dev/null”等同于”1>/dev/null” 2 表示stderr标...
阅读(227) 评论(0)
68条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:55067次
    • 积分:966
    • 等级:
    • 排名:千里之外
    • 原创:37篇
    • 转载:31篇
    • 译文:0篇
    • 评论:1条
    最新评论