javaBean中的属性变量为什么不用volatile修饰? 经常在面试中会问到volatile关键字的作用,常见的回答一定都是两个作用:1.保证内存可见性、2.防止指令重排序。如果问到volatile的使用场景,一般也会说多线程并发访问某个的属性变量的时候,为了防止变量更改后不可见添加volatile关键字来修饰这个变量。以上是比较标准的面试问答。
shell脚本中使用getopts函数解析参数 使用shell对于脚本中参数解析时,可以用getopts函数进行参数解析。语法格式如下:第一个参数optstring是解析参数规则的定义,定义了脚本后面参数列表的范围。
git小技巧如何合并代码后清除掉commit记录 我们在使用git做代码版本控制的时候,经常把其他分支的代码合并到当前开发的分支。不过有的时候只想把相关功能合并过来,不想把提交的每一次记录都合并到本分支。不知道有没有人有这种需求,本来我个人是不太理解为什么会有这样的需求,直到最近我遇到一个问题需要清理commit记录。而既然git提供了这样的能力相信,虽然小众但是还是应该有使用这个功能的场景。...
ssh登录服务器内容不同步的问题分析与解决 secureCRT链接到了服务器之后,正常命令的输入都没什么问题,但是当我用vim打开一个文件的时候,这个文件内容一个屏幕显示不了,需要翻页查看。当我翻页的时候发现屏幕内容开混乱
go开发环境初体验 golang也称为go语言这两年国内发展迅猛,各个公司很多系统的技术栈都开始转为go来开发。本人也是近期开始接触学习go。对于一门语言刚接触除了学习基本的语法之外,首先要了解的还有这门语言的开发环境。
lua与c++整合方案进阶 背景之前的一篇文章lua与C++整合并互相调用_wp500的博客-CSDN博客,是对lua与C++整合进行了初步的尝试。不过在接下来实践中发现,开发的过程还是有很多不方便的地方。比如:注册到lua环境中的C++函数入参必须是 lua_State *L入参及返回类型,需要压栈及出栈lua类型与c++类型不同,需要进行转化以上问题让开发者增加了很多的额外的工作量,为了简化整合的步骤。当前有很多组件来解决以上痛点,给开发人员增效。常用的组件LuaPlusluabindtolua++lua
lua与C++整合并互相调用 lua与c++的混合开发,大量应用于C++项目中。 作为初学者lua与c++如何整合,参考很多网络资料,最后把两个语言整合成功。这里我将自己执行的每个步骤,记录下来。并附上截图方便后来的同学参考。
Springboot+mockito进行单元测试心得 SpringBoot应用测试测试Springboot应用需要依赖一个非常重要的注解@SpringBootTest,这个注解会为测试用例构建Spring容器。@SpringBootTest注解修饰的测试用例默认不会启动web容器,如果需要启动web容器需要设置webEnvironment属性:MOCK(默认):会启动一个mock的web server,可以配合@AutoConfigureMoc...
Thread.getContextClassLoader与Thread.getClassLoader()区别 在阅读spring boot启动时候的源码中,发现获取classLoader使用的是getContextClassLoader于是乎产生了疑问,这种获取ClassLoader的方式与我们最常见的通过Class.getClassLoader二者有什么区别?都是在什么场景下使用呢?首先来看看getClassLoader()方法的注释:Returns the class loader for ...
linux系统ssh登录后新开窗口免登配置 本人是deepin linux 15.4.1新建一个 ~/.ssh/config文件输入如下内容Host * ControlMaster auto ControlPath /tmp/ssh-%r@%h 使用深度deepin终端进行ssh登录,第一次登录服务器需要输入登录密码,后续在第一个窗口没有关闭的前提下新建窗口登录服务器时不需
JVM参数查看命令 JVM参数查看命令查看JVM启动后与初始默认值不同的值与参数(这个参数至少在Sun JDK 5上已经开始支持,Oracle/Sun JDK 6以及Oracle JDK 7上也可以使用。Sun JDK 1.4.2还不支持这个参数。 )$java -XX:+PrintCommandLineFlags-XX:InitialHeapSize=125817280 -XX:MaxHeapSize=2013
vim个人配置记录 记录一下方便以后换不同机器配置set nu!colorscheme bluesyntax enablesyntax onsource $VIMRUNTIME/mswin.vimset mousemodel=popup
爬虫的javascript支持 转载自:http://my.oschina.net/u/1024140/blog/119752很多网站都使用javascript...网页内容由js动态生成,一些js事件触发的页面内容变化,链接打开.甚至有些网站在没有js的情况下根本不工作,取而代之返回你一条类似"请打开浏览器js"之类的内容.对javascript的支持有四种解决方案:1,写代码模拟相关js逻辑.
Java中的字符编码(Unicode、UTF-8、UTF-16)的那些事儿 最近看了一篇编码的好文章,转了转自:http://www.2cto.com/kf/201208/147530.html原文作者:tianjf0514首先看一下下面的程序(测试英文和中文在Unicode、UTF-8、UTF-16这三种编码下,一个字符占几个字节)[java]System.out.println("a(Unicode) :" + "a".get
logstash快速入门 简介Logstash是一个接收,处理,转发日志的工具。支持系统日志,webserver日志,错误日志,应用日志,总之包括所有可以抛出来的日志类型。怎么样听起来挺厉害的吧?在一个典型的使用场景下(ELK):用Elasticsearch作为后台数据的存储,kibana用来前端的报表展示。Logstash在其过程中担任搬运工的角色,它为数据存储,报表查询和日志解析创建了一个功能强大的管道
从用户角度理解"零拷贝" (Zero Copy I: User-Mode Perspective) Zero Copy I: User-Mode Perspective作者:Dragan Stancevic,2003-01-01 原文地址:http://www.linuxjournal.com/article/6345 译者:Love. Katherine,2007-03-25译文地址:http://blog.csdn.net/lovekatherine/archive
(转)理解storm 进程内消息流(很好的一篇文章) from:http://zhangzhenjj.iteye.com/blog/1937861?utm_source=tuicoolUnderstanding the Internal Message Buffers of StormJUN 21ST, 2013Table of ContentsInternal messaging within Storm
kestrel消息队列介绍 在学习storm的过程中,storm的官方文档中多次在实例中列举kestrel消息队列的例子。处于好奇和兴趣顺便了解了一下kestrel消息队列。Kestrel是twitter的开发团队用scala语言写的开源消息中间件