- 博客(110)
- 资源 (1)
- 收藏
- 关注
原创 javaBean中的属性变量为什么不用volatile修饰?
经常在面试中会问到volatile关键字的作用,常见的回答一定都是两个作用:1.保证内存可见性、2.防止指令重排序。如果问到volatile的使用场景,一般也会说多线程并发访问某个的属性变量的时候,为了防止变量更改后不可见添加volatile关键字来修饰这个变量。以上是比较标准的面试问答。
2022-10-15 14:49:44 365 1
原创 shell脚本中使用getopts函数解析参数
使用shell对于脚本中参数解析时,可以用getopts函数进行参数解析。语法格式如下:第一个参数optstring是解析参数规则的定义,定义了脚本后面参数列表的范围。
2022-06-14 09:00:00 628
原创 git小技巧如何合并代码后清除掉commit记录
我们在使用git做代码版本控制的时候,经常把其他分支的代码合并到当前开发的分支。不过有的时候只想把相关功能合并过来,不想把提交的每一次记录都合并到本分支。不知道有没有人有这种需求,本来我个人是不太理解为什么会有这样的需求,直到最近我遇到一个问题需要清理commit记录。而既然git提供了这样的能力相信,虽然小众但是还是应该有使用这个功能的场景。...
2022-06-13 08:00:00 5173 2
原创 ssh登录服务器内容不同步的问题分析与解决
secureCRT链接到了服务器之后,正常命令的输入都没什么问题,但是当我用vim打开一个文件的时候,这个文件内容一个屏幕显示不了,需要翻页查看。当我翻页的时候发现屏幕内容开混乱
2022-06-12 17:03:57 665
原创 go开发环境初体验
golang也称为go语言这两年国内发展迅猛,各个公司很多系统的技术栈都开始转为go来开发。本人也是近期开始接触学习go。对于一门语言刚接触除了学习基本的语法之外,首先要了解的还有这门语言的开发环境。
2022-05-31 16:51:25 191
原创 lua与c++整合方案进阶
背景之前的一篇文章lua与C++整合并互相调用_wp500的博客-CSDN博客,是对lua与C++整合进行了初步的尝试。不过在接下来实践中发现,开发的过程还是有很多不方便的地方。比如:注册到lua环境中的C++函数入参必须是 lua_State *L入参及返回类型,需要压栈及出栈lua类型与c++类型不同,需要进行转化以上问题让开发者增加了很多的额外的工作量,为了简化整合的步骤。当前有很多组件来解决以上痛点,给开发人员增效。常用的组件LuaPlusluabindtolua++lua
2022-05-22 22:25:54 858
原创 lua与C++整合并互相调用
lua与c++的混合开发,大量应用于C++项目中。 作为初学者lua与c++如何整合,参考很多网络资料,最后把两个语言整合成功。这里我将自己执行的每个步骤,记录下来。并附上截图方便后来的同学参考。
2022-04-25 16:29:50 427
原创 Springboot+mockito进行单元测试心得
SpringBoot应用测试测试Springboot应用需要依赖一个非常重要的注解@SpringBootTest,这个注解会为测试用例构建Spring容器。@SpringBootTest注解修饰的测试用例默认不会启动web容器,如果需要启动web容器需要设置webEnvironment属性:MOCK(默认):会启动一个mock的web server,可以配合@AutoConfigureMoc...
2019-06-01 17:23:26 3540 2
原创 Thread.getContextClassLoader与Thread.getClassLoader()区别
在阅读spring boot启动时候的源码中,发现获取classLoader使用的是getContextClassLoader于是乎产生了疑问,这种获取ClassLoader的方式与我们最常见的通过Class.getClassLoader二者有什么区别?都是在什么场景下使用呢?首先来看看getClassLoader()方法的注释:Returns the class loader for ...
2019-01-04 12:01:12 8159
原创 linux系统ssh登录后新开窗口免登配置
本人是deepin linux 15.4.1新建一个 ~/.ssh/config文件输入如下内容Host * ControlMaster auto ControlPath /tmp/ssh-%r@%h 使用深度deepin终端进行ssh登录,第一次登录服务器需要输入登录密码,后续在第一个窗口没有关闭的前提下新建窗口登录服务器时不需
2017-09-13 10:52:35 916
原创 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
2017-06-21 13:48:54 2319
原创 vim个人配置记录
记录一下方便以后换不同机器配置set nu!colorscheme bluesyntax enablesyntax onsource $VIMRUNTIME/mswin.vimset mousemodel=popup
2015-06-06 15:01:09 514
转载 爬虫的javascript支持
转载自:http://my.oschina.net/u/1024140/blog/119752很多网站都使用javascript...网页内容由js动态生成,一些js事件触发的页面内容变化,链接打开.甚至有些网站在没有js的情况下根本不工作,取而代之返回你一条类似"请打开浏览器js"之类的内容.对javascript的支持有四种解决方案:1,写代码模拟相关js逻辑.
2015-04-20 16:49:22 3037
转载 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
2015-02-27 11:39:39 809
翻译 logstash快速入门
简介Logstash是一个接收,处理,转发日志的工具。支持系统日志,webserver日志,错误日志,应用日志,总之包括所有可以抛出来的日志类型。怎么样听起来挺厉害的吧?在一个典型的使用场景下(ELK):用Elasticsearch作为后台数据的存储,kibana用来前端的报表展示。Logstash在其过程中担任搬运工的角色,它为数据存储,报表查询和日志解析创建了一个功能强大的管道
2014-11-13 16:33:59 42943 5
转载 从用户角度理解"零拷贝" (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
2014-05-05 16:49:09 904
转载 (转)理解storm 进程内消息流(很好的一篇文章)
from:http://zhangzhenjj.iteye.com/blog/1937861?utm_source=tuicoolUnderstanding the Internal Message Buffers of StormJUN 21ST, 2013Table of ContentsInternal messaging within Storm
2014-03-08 21:19:10 1307
原创 kestrel消息队列介绍
在学习storm的过程中,storm的官方文档中多次在实例中列举kestrel消息队列的例子。处于好奇和兴趣顺便了解了一下kestrel消息队列。Kestrel是twitter的开发团队用scala语言写的开源消息中间件
2014-02-21 11:24:52 6145 1
原创 storm学习(三):storm0.9.0版本试用
不知不觉中,storm版本来到了0.9.0版本这个版本中storm增加了很多新的实用的特性,其中几个比较重要的改变如下:1.使用两种数据传输方式分别是zeroMQ/0MQ和netty 之前的版本只能使用0MQ一种传输方式,不过0MQ有一些不尽人意的地方。因为0MQ由C开发所以依赖与平台,安装也比较麻烦。而jvm调用native库也不能进行控制。 0mq的版本差异比较大,不
2014-02-18 16:26:21 3815
原创 zookeeper集群搭建
zookeeper是一个集群服务器的管理软件。可以方便管理集群中的各种资源。直入主题,介绍一下搭建一个zookeeper集群的步骤:1. 下载zookeeper. 可以在http://zookeeper.apache.org/releases.html 官网下载最新的zookeeper版本2. 將下载的zookeeper压缩包在本地进行解压。 路径假设 ZOO_HOME3. ZOO
2014-02-13 15:26:41 1671 1
原创 storm学习(二):搭建storm集群环境
之前说了storm单机环境的搭建:http://blog.csdn.net/wp500/article/details/14122091而生产环境需要使用的是storm的集群环境。这次使用一台服务器来搭建storm的集群环境,多台服务器的storm集群搭建方法一样。本人也是刚刚接触storm搭建环境过程是,边读https://github.com/nathanmarz/storm/wiki
2013-11-04 17:53:21 1626
原创 storm学习(一):搭建storm单机调试环境
最近工作需要,学习storm的使用。这里做一下单机环境的搭建备忘:storm官网地址:http://storm-project.net/文档地址:http://storm-project.net/documentation.html官方文档说明:storm有两种操作模式:本地单机模式和远程模式。 本地模式可以用来开发以及测试topologies使用,本地模式模拟集群环境
2013-11-04 14:24:18 10731
转载 shell中的条件判断、参数以及变量替换
一、test命令 test命令是shell内部命令,它计算作为其参数的表达式是真还是假。 如果表达式为真,则test返回0(注意与C语言0表示false不同),如果表达式为假,返回非0。 shell提供了另外一个调用test命令的方式,就是用方括号[]来代替单词test。 调用test命令的格式为: test expr1 opr expr2 或是 [ expr1
2013-11-04 11:29:46 973
原创 maven的依赖版本范围
maven项目中所依赖的jar包版本不是唯一特定的版本,可以使用版本范围设定设定的规则见下表:RangeMeaning1.0x >= 1.0 * The default Maven meaning for 1.0 is everything (,) but with 1.0 recommended. Obviously thi
2013-11-04 11:11:13 6176
转载 JVM -XX: 参数介绍
功能开关:参数默认值或限制说明参数默认值功能-XX:-AllowUserSignalHandlers限于Linux和Solaris,默认不启用允许为java进程安装信号处理器,信号处理参见类:sun.misc.Signal, sun.misc.SignalHandler-XX:+Di
2013-05-23 10:35:10 1293
转载 JVM参数收集
基本的JVM参数:-classpath, -cp: 设置类搜索路径-client, -server: JVM运行模式, 不同的模式相应的一些默认参数不一样, 比如垃圾回收策略-D=value: 设置JVM系统属性, 可通过System.getProperty(“propertyName”)获取-verbose[:gc|class|jni]: 显示JVM运行过程中的gc,class
2013-05-23 10:34:09 698
原创 maven常用命令备忘
将工程打包,发布到远程仓库中的方法首先设置setting.xml在...中添加一个节点元素如: nx-snapshots xxx xxx 指定一个用户名/密码设置pom.xml添加要发布的服务器信息nx-releases-deploy 此处与setting.xml中设置的server id
2012-11-27 13:49:18 897
原创 vi 命令行下粘贴
vi在命令行模式下粘贴1.首先在普通模式下按v进入可视模式2.可视模式下复制文件(h左 j下 k上 l右 进行选择复制的文本,"+y复制到系统剪切版中这样可以在不同进程的编辑器中进行粘贴)3.":"进入命令行模式下 。Ctrl+r进入系统粘贴板,按p进行粘贴
2012-10-29 10:13:58 1015
原创 sshpass---linux下使用ssh客户端的好帮手
在window下使用ssh客户端登录服务器有很多比较方便的软件,如:secureCRT,XShell等等。可以保存服务器地址和用户名/密码等信息。不过在linux上,一般都用openssh命令行进行远程登录。这就需要记住服务器信息和密码。这个可以使用shell脚本进行方便输入。不过由于安全考虑 ssh命令没有直接输入密码的参数。这就使得shell脚本不是很容易编写。网上大多
2012-10-22 22:23:26 2669
转载 用javap查看编译版本
用javap查看编译版本我们可以用javap命令查看class文件的编译版本。比如对Worke.class使用javap命令:javap -verbose Worker我将看到Worker的反编译结果。其中前几行如下:Compiled from "Worker.java"public class com.teleca.robin.Worker extends j
2012-06-25 14:44:15 752
转载 Putty的配置信息导出方法
Putty是一款很好用的SSH客户端,迁移系统的过程中,需要迁移其配置,可配置信息在哪儿呢?首先寻找安装目录(其实就是源文件所在目录,绿色安装的说),没发现踪迹。接着在用户目录下的AppData查找(分本地和全局两个目录,分别是%APPDATA%和%LOCALAPPDATA%),没有发现Putty或SimonTatham相关的目录(后者为Putty作者)。然后再找注
2012-05-15 12:17:17 1915
原创 netbeans修改字体配置
修改netbeans安装目录 etc/netbeans.conf netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java
2012-05-13 16:15:00 656
原创 linux下程序前后台切换运行
针对本人最近遇到的一个场景来,记录一下linux程序前后台切换运行的方法。本人使用测试服务器作为vpn的客户端。登录外网环境,使之能够使用外网数据库。由于vpn需要输入密码,这样就只能在输入密码后。转为后台运行。并且当退出链接测试服务器的终端后,vpn程序继续运行。介绍一下相关命令1 程序后台运行 #command &2 查看此终端下的后台程序 #jobs3 #fg %
2012-03-22 09:09:18 1677
原创 awk print使用
为自己查找方便记录一下ll lib | awk '{print $9}' 显示lib下面的所有文件名(只显示文件名)命令说明组 1 2 3 45 6 7 8 9-rw-r--r-- 1 root root 29948 Feb 7 10:10 commlog.jar-rw-r--r-- 1 root root 76238 Feb 7
2012-02-07 10:52:13 1036
原创 mysql 环境变量之 group_concat_max_len
今天使用mysql group_concat()函数,对查询的数据进行字符串连接操作。 不过由于查询的结果较多,连接后的结果很长导致不能完全显示。查询手册发现如下说明:(先说说group_concat函数)GROUP_CONCAT(expr) 该函数返回带有来自一个组的连接的非NULL值的字符串结果。其完整的语法如下所示: GROUP_CONCAT([DI
2012-02-01 13:20:54 13074
转载 notepad++ 正则表达式用法
使用正则表达式可以很好地完成很多繁琐耗时的工作,以下抄录editplus正则表达式的使用,同样适用于notepad++:表达式 说明 \t 制表符. \n 新行. . 匹配任意字符. | 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc". [] 匹配列表之中的任何单个字符. 例如, "[ab]" 匹配 "a" 或者 "b". "[0-9]
2012-02-01 09:30:26 4416
原创 java版IpMsg(飞鸽传书)
我在使用linux系统中,飞鸽软件一直用wine来模拟window环境运行IpMsg.exe, 感觉程序界面看上去不是很舒服。一直想开发一个能在linux上运行的IpMsg软件。我是做java开发的。 所以决定用Java来实现飞鸽传输功能。于是自学了swing开发,做出目前这个版本, 算是一个开始吧。只实现了用户列表显示、发送消息、接受消息刷新用户列表相关比较简单的功能。界面是仿造C开发的飞鸽界面。程序运行界面截图
2011-01-05 09:34:00 3191 6
java版IpMsg(飞鸽传书)
我在使用linux系统中,飞鸽软件一直用wine来模拟window环境运行IpMsg.exe, 感觉程序界面看上去不是很舒服。一直想开发一个能在linux上运行的IpMsg软件。我是做java开发的。 所以决定用Java来实现飞鸽传输功能。于是自学了swing开发,做出目前这个版本, 算是一个开始吧。只实现了用户列表显示、发送消息、接受消息刷新用户列表相关比较简单的功能。界面是仿造C开发的...
2011-01-05 09:34:00 169
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人