A code cleanliness code farmers, A programmer concentrate on elegant design, A want to do with the product architect
暂时未有相关通用技术能力~
阿里云技能认证
详细说明本人是debian+win7的双系统, 下面介绍下重装win7的整个过程以及遇到的一些小问题,在查阅相关博客和朋友的帮助下成功修复, 记录下以便以后有不时之需, 也希望能帮助到遇到同样问题的朋友! 首先 在win7上下载一个EasyBCD2.
使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPAuthenticationError 主要的原因就是口令和帐号信息不对,这里我们使用qq服务器发送 需要先到邮箱里设置独立密码(必须), 然后开启 SMTP/POP3服务。
英文来源:Mozilla’s Build System 中文出处:开放博客,由灰狐翻译小组制作 Mozilla 构建系统是一个非常酷的分布式系统,运行在BuildBot上。系统能在每次修改后自动重新构建和测试代码树。
Docker自从诞生以来就一直备受追捧,学习Docker是一件很炫酷、很有意思的事情。我希望通过这篇文章能够让大家快速地入门Docker,并有一些学习成果来激发自己的学习兴趣。我也只是一个在Docker这条巨鲸上玩耍的小孩,全文如有不明确、不正确的地方,还请斧正。
阅读目录 工具介绍 使用方法 工具介绍 这是一款全自动Web后门查杀工具,基于Python开发 某些较新的后门可能会查杀失败 规则列表来自seay博客 回到顶部 使用方法 1.
finally块里面的代码一般都是会执行的,除非执行 System.exit(int),停止虚拟机,断电。 1.若try代码块里面有return ,假设要return 的值 是A,A为基本类型或者被final修饰的不可变类型(如:基本类型的包装类型Integer,Double,String ),并且finally语句块里面 对try语句块里面要return 的值A做了修改 比如A+1,但是最终返回的值是不受finally里面对A值操作的影响的。
2.1 特性 本章将介绍一系列Gradle的特性。 申明式构建和基于约定的构建 Gradle的核心是基于Groovy呈现了一种丰富的针对特定领域的语言,称之为Domain Specific Language(DSL)。
1~1024之间的端口号是保留端口,通常是为特定目的预留的。虽然你的问题不是由于保留端口引起的,但是仍然建议你不要随意使用保留端口作为自定义服务的端口,如果你能早早遵循这一规则压根就不会遇到这个问题。
新年上班第一天,突然遇到一个socket连接No buffer space available的问题,导致接口大面积调用(webservice,httpclient)失败的问题,重启服务器后又恢复了正常。
import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.
grep -R --include="*.cpp" key dir【指定文件的扩展名】 上述命令的含义: 在dir目录下递归查找所有.cpp文件中的关键字key grep -r magic /usr/src #显示/usr/src目录下的文件(包含子目录)包含magic的行【不指定文件扩展名】 find / -type f -name "*xml"|xargs grep "zh_CN" 2>/dev/null(1)在/目录下查找文件名以xml结尾的文件(2)查看每个符合条件的行记录(3)grep过程的错误信息不显示。
LinkedBlockingQueue的put,add和offer的区别 最近在学习,有很多java.util.concurrent包下的新类。LinkedBlockingQueue就是其中之一,顾名思义这是一个阻塞的线程安全的队列,底层应该采用链表实现。
对象的synchronized方法不能进入了,但它的其他非synchronized方法还是可以访问的 对每一个class只有一个thread可以执行synchronized static method。
1、线程池简介: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。
在实际编程中,要尽量避免出现死锁的情况,但是让你故意写一个死锁的程序时似乎也不太简单(有公司会出这样的面试题),以下是一个简单的死锁例子,程序说明都写着类的注释里了,有点罗嗦,但是应该也还是表述清楚了的。
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。
java中元注解有四个: @Retention @Target @Document @Inherited; @Retention:注解的保留位置 @Retention(RetentionPolicy.
关于JAVA多线程同步 JAVA多线程同步主要依赖于若干方法和关键字 1 wait方法: 该方法属于Object的方法,wait方法的作用是使得当前调用wait方法所在部分(代码块)的线程停止执行,并释放当前获得的调用wait所在的代码块的锁,并在其他线程调用notify或者notifyAll方法时恢复到竞争锁状态(一旦获得锁就恢复执行)。
Ad Hoc源自于拉丁语,意思是"for this"引申为"for this purpose only",即"为某种目的设置的,特别的"意思,即Ad hoc网络是一种有特殊用途的网络。IEEE802.11标准委员会采用了"Ad hoc网络"一词来描述这种特殊的自组织对等式多跳移动通信网络,Ad hoc网络就此诞生。
org.springframework.data.redis.core.RedisTemplate在List操作时的一个注意事项:BoundListOperations boundListOperations = redisTemplate.boundListOps("key");org.springframework.data.redis.core.BoundListOperations中range api使用的是lrange命令,因此要使用lpush存放最新的元素,lpush存放老的数据。
1、shutdown -s 时间 如果是想马上关机就直接输入0或者now; 2、init 0 这个是运行级别关机; 3、halt 这个命令不是很好用; 4、power off 这个命令也是很好用的。 ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dlctrl + h ...
GRANT ALL PRIVILEGES ON *.* TO ''@''IDENTIFIED BY '' WITH GRANT OPTION; 修改mysql的配置文件 在linux下,mysql的配置文件是/etc/mysql/my.
用sudo时提示"xxx is not in the sudoers file. This incident will be reported.其中XXX是你的用户名,也就是你的用户名没有权限使用sudo,我们只要修改一下/etc/sudoers文件就行了。
一、下载与安装 wget http://download.redis.io/releases/redis-3.0.0.tar.gz tar -zxvf redis-3.0.0.tar.gz -c /usr/local/ cd /usr/local/redis-3.
redis是一个内存数据库,比memcache支持更丰富的value类型,新浪微博就使用redis来做缓存。 redis的源码安装 wget http://download.redis.io/redis-stable.
Linux init详解 一、什么是INIT: init是Linux系统操作中不可缺少的程序之一。 所谓的init进程,它是一个由内核启动的用户级进程。 内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。
一、前言 编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了。
引言 在阿里,每一位新员工进来之后都会有一位导师,导师一般都是团队中非常优秀的员工。有些部门可能不叫导师了,而是叫师兄,可能更亲切,但是我觉得导师更贴切。 导师指导新员工的过程,我觉得应该是一个PDCA的过程,即计划,执行,检查和总结。
Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。
sar 这个工具RHEL5自带有,默认也安装。 一个强大的工具(好像这些工具都蛮强的),参数很多,有时间man一下。 -n参数很有用,他有6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL 。
26 《万年坑系列》 I:那些令你憎恶的系统从何而来? 世界上总有一些令人憎恶的系统,而你却天天非用不可。这些系统的提供方们既不缺钱也不缺人,有的还很热衷于改版升级。 但为何升级完后,它们依旧令人憎恶? 27 《万年坑系列》 II:那些令你憎恶的系统到底是谁开发的? 世界上总有一些令人憎恶的系统,而你却天天非用不可。
This is the second time I have installed Redis for use on Cygwin in the last several months. It seems that each time the version numbers change, I step in a different hole.
1、mysqladmin -u root -p version2、mysql -V 是客户端上的version实际的server端应该连上server后mysql>select version();BTW:一般单机上面的server和client的版本号应该是一样的3、mysql -u root -p -e "select version()"4、mysql --help|grep version CONCAT_WS函数:从数据库里取N个字段,然后组合到一起用“,”分割显示,起初想到用CONCAT()来处理,好是麻烦,没想到在手册里居然有提到CONCAT_WS(),非常好用。
上次面试中遇到的一个问题,问到System.out.println()中的out是不是内部类【不是内部类】,当时就给问蒙了,直观感觉out应该是System类的一个属性,跟内部类有什么关系?而且之前整理IO部分的时候记得有个PrintStream的类用于标准输出的,但是从没看过System的源码,也不敢随便再说了。
国内的cygwin源镜像: 1、163源 http://mirrors.163.com/.help/cygwin.html 收录架构 x86 x86_64 收录版本 所有版本 更新时间 每天更新一次 使用说明 选择从互联网安装, 在"User URL"处输入以下地址 http://mirrors.
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/27250059 一般情况下,我们使用Runnable作为基本的任务表示形式,但是Runnable是一种有很大局限的抽象,run方法中只能记录日志,打印,或者把数据汇总入某个容器(一...
谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。
KMP算法 在介绍KMP算法之前,先介绍一下BF算法。 一.BF算法 BF算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个字符和P的第二个字符;若不相等,则比较S的第二个字符和P的第一个字符,依次比较下去,直到得出最后的匹配结果。
不是一个Exception,而是一个Error,要强制转成Exception类型,就出错了java.lang.NoClassDefFoundError java.lang.RuntimeException
第一步:代码混淆(注意引入的第三方jar) 在新版本的ADT创建项目时,混码的文件不再是proguard.cfg,而是project.properties和proguard-project.txt。
UT中需要的jar Junit4.1X.jar hamcrest-library-1.x.jar hamcrest-core-l.x.jar mockito-all-1.10.x.jar Junit 使用hamcrest的Matcher找不到的问题(比如greaterThan) ...
想取得不一样的东西,就要做不一样的事 以前做工作,就是随着做,没有时间意识,虽然不是故意有一打没一打的做,做实际上就是有一打没一打的在做 看到别的同事一直在争分夺秒的在做这个事,一直不是很理解,工作嘛,按计划,按节奏完成就可以了嘛,干嘛根和别人抢一样 闲话不多说 这次就完成一个框架,就是一个筐子,把其它部分放进行执行,方法还是注册,就是扫描配置文件,class.forName来实例化class,最后执行相关任务 各种判断,各种分组,各种抽象,这些都是根据业务来处理的,领域模型嘛 小结: (1)在没有搞清楚或没办法搞清楚时,就不要先时间搞了。
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ListToArrays { public static void main(String[...
import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.
基于 backfire10.03(从http://downloads.openwrt.org/backfire/10.03/ 中下砸的源码包backfire_10.03_source.tar.bz2;后来确认不应该从这里下载;而是应该从svn下载),编译用于H618B的版本 -- BRCM53xx;过程记录如下: 1.
网上关于java volatile的资料已经不少了,但搜了好久也没看到谁用代码很好地验证过使不使用volatile的差异。最近自己写了个测试,意外的看到了两者的明显区别,为什么说意外呢,因为根据我的测试,在32位的JVM(以下均指oracle官方的JVM)上是看不出差异的,也就是说32位的JVM上,不会发生因为没使用volatile而引起的多个线程读写公共变量不同步问题(有误,见末尾的补充),偶然在64位的JVM上跑了下,问题一下出现了。
关于JTextField限制输入字符长度的问题,因为没提供现成的api,所以我们得自己动手,来实现这个功能,网上也有很多这样的资料,大多是在JTextField的Document的insertString方法中动手脚,比较当前文本框的字符长度和最大长度,如果输入不涉及中文,该方法也堪称完美了。
package thread.lock; import java.util.concurrent.ExecutorService; import java.util.concurrent.
一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。
CyclicBarrier字面意思回环栅栏,通过它可以实现让一组线程等待至某个状态之后再全部同时执行。叫做回环是因为当所有等待线程都被释放以后,CyclicBarrier可以被重用。我们暂且把这个状态就叫做barrier,当调用await()方法之后,线程就处于barrier了。