- 博客(133)
- 资源 (8)
- 收藏
- 关注
转载 通过金矿模型介绍动态规划
通过金矿模型介绍动态规划背包测试数据 对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现有不通顺的地方,让你产生错误理解的地方,让你
2015-12-18 14:05:06 702
转载 RESTful 架构风格概述
在移动互联网的大潮下,随着docker等技术的兴起,『微服务』的概念也越来越被大家接受并应用于实践,日益增多的web service逐渐统一于RESTful 架构风格,如果开发者对RESTful 架构风格不甚了解,则开发出的所谓RESTful API总会貌合神离,不够规范。本文是我对RESTful 架构风格的一些理解,和大家分享一下,如果有问题,欢迎讨论。1. RESTfu
2015-12-17 09:50:35 1009
转载 对 Go 语言的综合评价
以前写过一些对 Go 语言的负面评价。现在看来,虽然那些评价大部分属实,然而却由于言辞激烈,没有点明具体问题,难以让某些人信服。在经过几个月实际使用 Go 来构造网站之后,我觉得现在是时候对它作一些更加“客观”的评价了。定位和优点Go 比起 C 和 C++ 确实有它的优点,这是很显然的事情。它比起 Java 也有少数优点,然而相对而言更多是不足之处。所以我对 Go 的偏好在比 Ja
2015-12-16 13:31:07 1423
转载 编程的智慧
编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋。然而由于软件行业喜欢标新立异,喜欢把简单的事情搞复杂,我希望这些文字能给迷惑中的人们指出一些正确的方向,让他们少走一些弯路,基本做到一分耕耘一分收获。反复推敲代码既然“天才是百分之一的灵感,百分之九十九的汗水”,那我先来谈谈这
2015-12-15 15:40:24 755 1
原创 docker Unit docker.service is masked
ailed to start docker.service: Unit docker.service is maskedystemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service
2017-04-22 13:57:44 4913
转载 Maven类包冲突终极解决小技若干
转载自:http://stamen.iteye.com/blog/2030552 Maven对于新手来说,最痛苦的一件事莫过于包之间的冲突,由于Maven的依赖传递性,当你引入一个依赖类时,其身后的依赖类也一起如过江之鲫纷至沓来了。 举个栗子 A依赖于B及C,而B又依赖于X、Y,而C依赖于X、M,则A除引B及C的依赖包下,还会引入X,Y,M的依赖包(一般情况下了,Maven可通过等若干种方式控制传
2016-12-24 22:14:19 1094
转载 单例模式的几种写法
转载自:http://cantellow.iteye.com/blog/838473 第一种(懒汉,线程不安全):Java代码 收藏代码 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance
2016-12-23 22:34:42 578
转载 持续集成:Jenkins安装--基于Ubuntu16.04
前提条件:Java安装Jenkins基于Java, 所以需要先安装java。 Linux下安装java只要配置java环境变量即可。 首先,解压java到相应目录,我一般习惯把安装的软件放到目录/usr/local下。tar -zxvf jdk-8u65-linux-x64.tar.gz /usr/local 1 1 编辑环境变量,在/etc/profile文件中添加环境变量,Linu
2016-12-12 23:40:56 537
原创 RabbitMQ Cluster操作
sudo ./rabbitmqctl -n rabbit@ubuntu stop_appRABBITMQ_NODE_PORT=5672 RABBITMQ_NODENAME=rabbit ./rabbitmq-server -detached RABBITMQ_NODE_PORT=5673 RABBITMQ_NODENAME=rabbit_1 ./rabbitmq-server -detached
2016-11-09 23:41:59 586
转载 mysql5.7.16安装
截止2016/10/16 最新版本mysql为5.7.16,之前写过一篇APMW搭建的文章(传送门:http://www.cnblogs.com/airoot/p/4131906.html)里面介绍的安装mysql方法部分已经不适合于新的版本。因此重新开帖。Mysql社区版下载地址:http://dev.mysql.com/downloads/mysql/因为我的系统版本是64,因此这里下载x64版
2016-11-01 10:13:04 608 1
原创 Jquery获得控件值
<html> <head> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script> <script>
2016-10-25 13:29:39 419
转载 利用jquery操作Radio方法小结
在开发中经常会用到Radio来实现用户的选择效果,我在项目中积累了一些利用JQUERY来操作Radio的方法,在这里分享一下,供有需要的朋友借鉴。 1、改变radio的选择,触发一些效果 复制代码 代码如下:$(“input:radio[name=’dialCheckResult’]”).change(function (){ //拨通 alert(“123”); });2、让页面中所有的r
2016-10-24 16:09:37 909
原创 解析格式化txt文件为对象
package txt;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.HashMap;import java.util.
2016-10-14 09:13:12 656 1
原创 Intellij Idea actiBPM
uzbssr@gmail.com The charcter encoding of the plugin was wrong.At least the chines character cann’t print correct.Can I do something to slove this problem?Or,this plugin doesn’t support chinese charac
2016-09-26 16:14:00 8012
翻译 the java syncrhonisers
原文:https://www.javacodegeeks.com/2016/08/the-java-syncrhonisers.html 线程通信主要发生在共享字段河对象的时候。尽管这样做非常的有效,但这种通信方式,容易发生线程阻塞河内存一致性问题。Synchronization是一个防止这些问题的工具。 然而synchronization并不是完美的,它会带来隐患档当试图获得一个正在被其他线程
2016-09-13 18:00:08 509
转载 golang的select典型用法
转载自:http://yanyiwu.com/work/2014/11/08/golang-select-typical-usage.html golang 的 select 的功能和 select, poll, epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作。示例:ch1 := make (chan int, 1) ch2 := make (chan int,
2016-05-11 15:53:25 980
转载 vim设置tab
在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格: set ts=4 (注:ts是tabstop的缩写,设TAB宽4个空格) set expandtab对于已保存的文件,可以使用下面的方法进行空格和TAB的替换: TAB替换为空格: :set ts=4 :set expandtab :%retab!空格替换为TAB: :set ts=4 :set noexpa
2016-05-11 15:43:02 553
原创 stackoverflow一个很好的golang closure example
package mainimport "fmt"func makeIterator(s []string) func() func() string { i := 0 return func() func() string { if i == len(s) { return nil } j := i
2016-05-10 18:21:02 883
原创 go closure
// Go supports anonymous functions, // which can form closures. // Anonymous functions are useful when you want to define // a function inline without having to name it.package mainimport “fmt”// Th
2016-05-10 18:03:39 628
转载 uninstall wine
1.在终端里输入: sudo apt-get remove wine 即可卸载wine 2.然后再输入: rm -r ~/.wine 3.卸载残留不用得软件包,输入: sudo apt-get autoremove 即可彻底删除wine。 但我们在用wine卸载一些windows程序后,可能在“应用程序”-“其它”菜单里还残留着它的图标,我们可以通过以下方式把它彻底清除掉: 1.首
2016-05-10 17:37:20 554
转载 Go语言,Docker和Kubernetes
转载自:http://www.yinwang.org/blog-cn/2016/03/27/docker 当我嘲笑Go语言的时候,有些人跟我说,你说Go语言是垃圾,可是你看像Docker和Kubernetes之类的云计算项目,为什么是Go语言写的呢?其实答案很简单:这些东西并不是非得用Go语言写才可以,用其他语言实现它们其实并没有什么问题,只不过它们碰巧是用Go语言写的而已。Docker和Kube
2016-05-10 17:06:33 2854 4
转载 Ubuntu 安装 .bundle 文件
本文出自 “遥望见烟火” 博客,请务必保留此出处http://wuyongzhiyi.blog.51cto.com/4461300/1059292 一、.bundle 文件比较特殊,只有在给它了执行权限后才能执行安装操作。所以安装的第一步就是给 .bundle 文件添加执行权限。介绍两种方法: 1、在 *.bundle 文件上右击鼠标,选择最后一项“属性” 选项,在弹出的“属性”窗口中选择“权限
2016-05-10 10:56:55 21817
原创 linux常用命令
1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序。 ps -A 显示所有程序。 ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 ps -e 此参数的效果和指定”A”参数相同。 ps e 列出程序时,显示每个程序所使用的环境变量。 ps
2016-05-09 17:26:33 407
原创 git代码提交
代码提交 代码提交一般有五个步骤: 1.查看目前代码的修改状态 2.查看代码修改内容 3.暂存需要提交的文件 4.提交已暂存的文件 5.同步到服务器 1. 查看目前代码的修改状态 提交代码之前,首先应该检查目前所做的修改,运行Git status命令 a) 已暂存 (changes to be committed)new file //表示新建文件 modi
2016-04-27 20:38:39 373
原创 git
git其实是是一个不用网络的仓库(本地仓库),你也可以把数据push到github上(远程仓库)。 你现在的pull和push都是本地版本库和远程仓库之间的数据交互。 在你的本地仓库,其实是由两部分组成:工作区 (Working Directory) //看得见的版本库 (Repository) //看不见的 暂存区(Stage) 分支 (branch)版本库包含暂存区和分支
2016-04-27 20:37:46 431
原创 介绍 GDB 调试 Go
在过去的 4 年中,我花了我绝大部分的时间用来写,读以及调试 Python 或 JavaScript 代码。在学习 Go 的过程中,像穿着一双有小石子的鞋子在美丽的山中远行。很多事情给我留下了深刻的印象,但是使用 println 调试我的代码在过去走的太远了。在 Python 中,当代码在运行的时候,我们使用 pdb/ipdb 调试它,JavaScript 提供了类似的工具。在这些年中,这个模式已经
2016-04-26 15:56:11 522
原创 go语言的GDB调试入门初级
之前看go,教程顺了一遍下来,感觉不是很难,最近在做一件事情的时候发现自己当时实在是太天真了。废话不多说,直奔主题,由于学习中免不了要调试代码,所以就找了一下网上出来的IDE,发现两个,一个是go的一个是liteIde,感觉都不是很好用。前者进去之后完全不知所云,后者在我的测试代码中不知道怎么进行调试。也许是我无形比较挫,不管怎样,不想再折腾了,我也不能要求所有的IDE和XCode一样傻瓜不是。索性
2016-04-26 15:45:55 5053
原创 快速排序的思路
一趟快速排序的算法是: 1)设置两个变量i、j,排序开始的时候:i=0,j=N-1; 2)以第一个数组元素作为关键数据,赋值给key,即key=A[0]; 3)从j开始向前搜索,即由后开始向前搜索(j–),找到第一个小于key的值A[j],将A[j]和A[i]互换; 4)从i开始向后搜索,即由前开始向后搜索(i++),找到第一个大于key的A[i],将A[i]和A[j]互换; 5)重复第3
2016-04-14 15:30:50 592
原创 调试代码的一些感悟
1,遇到分支要引起注意,加上断点。这一点很明白,但一直也没能引起重视; 2,在调试代码时不要对他人的代码太自信。即使是在运行的多时的,进过无数次”测试”并只有极少数时候出 错的系统里; 3,自己现在还处于需要大量学习的阶段,需要大量的阅读优秀代码; 4,自己太轻浮了,不够认真。
2016-04-01 10:55:50 498
原创 happens-before规则
jmm把happens-before要求禁止的重排序分为下面两类: 1,会改变程序执行结果的重排序。 2,不会改变程序执行结果的重排序。 jmm对这两种不同性质的重排序,采取了两种不同的策略,如下: 1,对于改变程序执行结果的重排序,jmm要求编译器和处理器必须禁止这种重排序。 2,对于不会改变程序执行结果的重排序,jmm对编译器和处理器不做要求(jmm允许这种重排序)。jmm知识遵循一个
2016-03-23 11:09:37 641 1
原创 final域的内存语义
对于final域,编译器和处理器要遵守两个重排序规则。 1,在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。 2,初次读入一个包含final域的对象的引用,与随后初次读这个final域,这两个操作之间不能重排序。
2016-03-22 14:11:59 1063
原创 锁释放和锁获取的内存语义
锁释放与volatile写有相同的语义 锁获得与volatile读有相同的语义 1,线程A释放一个锁,实质上是线程A向接下来要获取这个锁的某个线程发出了(线程A对共享变量所做修改的)消息。 2,线程B获取一个锁,实质上是线程B接收了之前某个线程发出的(在释放这个锁之前对共享变量所做修改的)消息。 3,线程A释放锁,随后线程B获取这个锁,这个过程实质上是线程A通过主内存想线程B发送消息。
2016-03-21 17:34:45 465
原创 volatile变量特性
1,可见性。对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入。 2,原子性。对任意单个volatile变量的读/写具有原子性,但类似于volatile++这种复合操作不具有原子性。
2016-03-21 13:50:09 783
转载 一些java代码编程规范
1. 命名驼峰命名class命名尽量表达含义,尽量使用常用单词非static的方法和变量,使用驼峰命名static的方法,使用驼峰命名static的变量,尽量使用大写,以下划线区分单词 2. 代码格式化统一代码格式化,导入格式文件每次写一部分代码后按ctrl+shift+f格式化代码,ctrl+shift+o重新组织impor
2016-03-02 13:44:33 515
转载 解决Sublime Text 3中文显示乱码(tab中文方块)问题
一、文本出现中文乱码问题1、打开Sublime Text 3,按Ctrl+~打开控制行,复制粘贴以下python代码,然后回车运行。2. 复制并粘贴如下代码:Python代码 import urllib.request,os,sys; exec("if sys.version_info ); pr='Preferences.sublime-settin
2016-03-02 10:43:16 1939
转载 解决Sublime Text 2中文显示乱码问题
欲解决问题,关键在于让Sublime Text 2支持GB2312和GBK。步骤如下: 1.安装Sublime Package Control。 在Sublime Text 2上用Ctrl+~打开控制台并在里面输入以下代码,Sublime Text 2就会自动安装Package Control。[html] view plain?
2016-03-01 22:47:50 377
转载 MVC,MVP 和 MVVM 的图示
作者: 阮一峰日期: 2015年2月 1日复杂的软件必须有清晰合理的架构,否则无法开发和维护。MVC(Model-View-Controller)是最常见的软件架构之一,业界有着广泛应用。它本身很容易理解,但是要讲清楚,它与衍生的 MVP 和 MVVM 架构的区别就不容易了。昨天晚上,我读了《Scaling Isomorphic Javascript C
2016-03-01 10:24:28 606
转载 Tomcat的Session管理(二) - Session后台处理
Tomcat会开启一个后台线程每隔一段时间检查Session的有效性,这个线程是在Tomcat启动的时候当StardardEngine启动时随之启动的。可以参看StardardEngine的基类ContainerBase的#threadStart()方法:Java代码 protected void threadStart() { if (thread !=
2016-02-04 11:26:17 544
转载 Tomcat的Session管理(一) - Session的生成
Session对象的创建一般是源于这样的一条语句:Session session = request.getSession(false);或者Session session = request.getSession();如果不在乎服务器压力可能多那么一点点的话。在Tomcat的实现中,这个request是org.apache.catalina.connector.Request类的包装
2016-02-04 11:24:20 484
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人