- 博客(325)
- 资源 (64)
- 收藏
- 关注

原创 Linux grep sed nl awk sort,uniq,cut,wc rsync命令详解
grep常用用法[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename选项与参数:-a :将 binary 文件以 text 文件的方式搜寻数据-c :计算找到 '搜寻字符串' 的次数-i :忽略大小写的不同,所以大小写视为相同-n :顺便输出行号-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!--colo
2017-03-04 16:31:08
1249

原创 Linux crontab定时执行任务 命令格式与详细例子
基本格式 : * * * * * command 分 时 日 月 周 命令第1列表示分钟1~59 每分钟用或者 /1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令 crontab文件的一些例子:30 21
2017-03-04 15:07:08
707

原创 如何捕获java线程中的逃逸的异常
在java线程中,在run方法中,我们要在run()方法中,把一切的异常有处理掉,也就try-catch掉。不能让这个线程抛出异常,因为如果我们不使用特殊的方式的话,我们是无法捕获从这个线程中逃逸的异常的。异常一旦抛出了,那么这个线程就会停止运行,但是不会影响主线程和其它的线程。因为主线程和其它的线程都不知道它抛出了异常。线程在run方法抛出异常,没有catch那么会有疑问,是不是在main函数里面
2017-03-03 10:17:34
1354

转载 MySQL性能优化——易实现的MySQL优化方案汇总
一、索引优化1、合理使用索引,在经常查询而不经常增删改操作的字段加索引,一个表上的索引不应该超过6个。 2、Order by与group by后应直接使用字段,而且字段应该是索引字段。 3、索引字段长度应较短而长度固定。 4、索引字段重复不能过多。 5、Hash索引与BTree索引区别(MyISAM与InnoDB不支持Hash索引) (1)、BTree索引使用多路搜索树的数据结构,可以减少
2017-02-12 14:23:00
1480

转载 高并发服务端分布式系统设计概要(下)
原文出处:http://www.cnblogs.com/ccdev/p/3341234.html上篇 链接地址:http://blog.youkuaiyun.com/bug_moving/article/details/54955392中篇 链接地址:http://blog.youkuaiyun.com/bug_moving/article/details/54955441现在接着设计我们的“山推”系统。有了前面两篇的铺垫
2017-02-09 20:33:17
724

转载 高并发服务端分布式系统设计概要(中)
原文出处:http://www.cnblogs.com/ccdev/p/3340484.html上篇(链接)我们完成了在此分布式系统中,一个group的设计。那么接下来,我们设计系统的其他部分。如前文所述,我们的业务及其数据以group为单位,显然在此系统中将存在many many的groups(别告诉我你的网站总共有一个业务,像我们的“山推”,那业务是一堆一堆地),那么由谁来管理这些groups呢
2017-02-09 20:30:27
939

转载 高并发服务端分布式系统设计概要(上)
原文出处:http://www.cnblogs.com/ccdev/p/3338412.html又是快一年没写博客了,2013年也只剩尾巴,也不知道今年都忙了些什么。写这篇文章的目的,主要是把今年以来学习的一些东西积淀下来,同时作为之前文章《高性能分布式计算与存储系统设计概要》的补充与提升,然而本人水平非常有限,回头看之前写的文章也有许多不足,甚至是错误,希望同学们看到了错误多多见谅,更欢迎与我讨论
2017-02-09 20:28:50
1395

原创 虚拟机网络详解
先看看我们真实机器的IP分配,我们听过网关就可以访问外网。虚拟机上有三种方式先说第一种,NAT方式,其实安装好虚拟机,比如VM后,我们会发现我们的网络适配器里面多了两个网卡,那就是VM给我们虚拟出来的网卡,供虚拟机和我们的主机连接用。下图中,黄颜色的圈圈完全是虚拟出来的网络,我们的Linux通过VM虚拟的交换机也会有自己的IP地址,这个地址我们可以在VM的设置中自己指定(VM设置里面设置NAT即可)
2017-01-16 14:44:34
1188

原创 shiro与SSM项目整合
shiro于SSM整合所有的jar包web.xml中配置shiro的filter在web系统中,shiro也通过filter进行拦截。filter拦截后将操作权交给spring中配置的filterChain(过虑链儿) shiro提供很多filter。applicationContext-shiro.xml在applicationContext-shiro.xml 中配置web.xml中fitle
2017-01-15 17:10:18
8330
7

原创 SSM框架(二)--Spring、SpringMVC和MyBatis整合(详细教程)
一定要记得下载代码,自己对照教程敲一遍理解,百看不如一练GitHub下载源码地址 SSM框架(一)–Spring和MyBatis整合(详细教程)毋庸置疑,这个肯定是接着上一篇的讲,不过其实也不然,就复制上一工程的几个配置文件罢了,其实没多大联系,因为这个配置是我们学过MyBaits的逆向工程之后来配置。MyBaits的逆向工程还是给个jar包mybatis与spring整合全部jar包(包括spri
2016-12-31 10:51:08
2056

原创 SSM框架(一)--Spring和MyBatis整合(详细教程)
谈到SSM,我在网上看了很多整合教程,我也跟着一起整合过,都有大大小小的问题,所以今天元旦假期,我就抽一上午写出我自己的教程,一是Spring和MyBatis的整合,二是加上SpringMVC,即SSM大功告成。首先我得说一下我的版本(我觉得版本是次要的,只要你弄清楚配置文件的关系,即怎么配置配置文件,什么版本都一样,只是版本最大的问题我觉得是与jdk和tomcat这些有关)MyBatis 3.2.
2016-12-31 10:05:58
11782

原创 Spring MVC 中重定向 及 重定向源码跟踪
在index.jsp加上一个超链接跳转到这个testRedirect就行。后台会正常的打印数据,前台重定向到根目录下的index.jsp。看源码 一步一步打断点。先把return断掉。前天请求,后台就会进入debug模式,向上找,找到doDispatch你就会发现是在这里返回的mv,这个mv就是ModelAndView类型。底下有处理这个mv的processDispatchResult,点进去。
2016-11-08 17:10:32
1571
1

原创 SpringMVC4.0 + Tomcat7 + JDK7环境搭建 + (Spring4.0jar包+源码+logging+SpringIDE百度网盘下载)
今天一时兴起想用一下新版本的框架,就找了一个SpringMVC4.0的来,还是遇到一些问题,写下来帮助一下大家吧,程序员都知道配环境是最头痛的。这个里面就是Spring4.0jar包+源码+logging+SpringIDE,如果能下载别忘了点个赞。 云盘链接链接:http://pan.baidu.com/s/1c1XqZOs 密码:y26a最最基本的目录结构如下: 先建立动态web工程,然后导
2016-11-06 21:24:47
8748

原创 Java经典多线程问题--生产者与消费者
今天研究了一下Java多线程,顺便写了一下多线程中的经典问题—–生产者消费者经典问题,推荐一个线程链接Java基础知识回顾–线程 这个里面其实写了生产者与消费者问题,估计在后面大家看起来比较费劲,所以我提取出来再讲解一遍。package yanning;public class ProducerConsumer { public static void main(String[] args)
2016-10-05 15:22:52
793

原创 Java开发牛人十大必备网站
摘要: 以下是我收集的 Java 开发牛人必备的网站。这些网站可以提供信息,以及一些很棒的讲座, 还能解答一般问题、面试问题等。质量是衡量一个网站的关键因素,我个人认为这些网站质 量都很好。接下来,我会跟大家分享我是如何使用这些网站学习和娱乐的。或许你会认为有些网站适合任何水平的开发者,但是我认为:对于 Java 开发牛人来说,网站的好坏取决于如何使用它们。英文原文: Top 10 Websites
2016-10-04 15:54:16
1064

原创 未来的路很长,我们踏踏实实走进BAT
看书必不可少 操作系统,计算机网络,常用数据结构与算法,数据库,这四大方向每个认真读过一本500页的外国人写的教材,并编写过一些玩具代码。java相关的书也看个三四本: core java 深入理解java虚拟机 jcip effective java 然后csapp有空的话也可以看一看至于项目,我想你总是参与过几个了,斟酌一下是否能写到简历上去。如果写上去,面试官会问什么。面试官不会在
2016-09-16 11:39:01
1982
原创 深入浅出JVM
JAVA平台先通过一张图直观的认识一下,可以看到JVM对下屏蔽了Platforms的细节,这也是为什么Java能跨平台;可以看到JVM有两种,不过1.8以后Client模式基本没有了;JRE除了包含JVM以后,还包含了底层的类库,很多都是C和C++写的;JDK除了包含JRE,还包含了像javac这种编译工具和像JConsole的控制工具;JVM运行时的数据区域程...
2018-04-26 22:40:07
1645
原创 MAC下解决pip安装权限问题 OSError: [Errno 13] Permission denied OSError: [Errno 1] Operation not permitted:
权限拒绝OSError: [Errno 13] Permission denied: ‘/Library/Python/2.7/site-packages/qrcode’我就加上了sudo操作拒绝OSError: [Errno 1] Operation not permitted: ‘/System/Library/Frameworks/Python.framework/Versions/2.7/s
2017-07-10 21:13:22
8985
原创 MAC装Python2.7+pip
背景Python有两个著名的包管理工具easy_install.py和pip。在Python2.7的安装包中,easy_install.py是默认安装的,而pip需要我们手动安装。pip可以运行在Unix/Linux, OS X, and Windows平台上,支持CPython versions 2.6, 2.7, 3.1, 3.2, 3.3, 3.4 and also pypy.下载下载pip的
2017-07-10 21:08:10
7668
原创 git 撤销操作
git 撤销commit据–soft –mixed –hard,会对working tree和index和HEAD进行重置:git reset ——mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息git reset ——soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。
2017-05-23 19:39:50
714
原创 windows MySql 5.7.9,启动不了。缺少data
官网MySQL百度云链接链接:http://pan.baidu.com/s/1i4XoTdr 密码:t5ic上边是官网的MySQL,下载之后目录是这样的这个时候我们不能盲目启动,我习惯复制my-default.ini文件,生成自己的my.ini文件,此步也可以不需要,但是配置文件里面的basedir 和 datadir要给加上。my.ini文件# For advice on how to chang
2017-04-03 16:46:33
1268
原创 IntelliJ IDEA 中 右键运行时没有run;新建时,选项没有Java class的解决方法和具体解释
问题我就不赘述了,就是运行不了java程序,而且也不能建java文件这个时候我们要理解这几个东西的意思,这个知识点非常非常重要,必须会。Sources 一般用于标注类似 src 这种可编译目录。有时候我们不单单项目的 src 目录要可编译,还有其他一些特别的目录也许我们也要作为可编译的目录,就需要对该目录进行此标注。只有 Sources 这种可编译目录才可以新建 Java 类和包,这一点需要牢记。
2017-03-15 10:56:57
159716
7
原创 Java多线程生产者消费者说明等待唤醒机制问题和虚假唤醒问题
不用等待唤醒机制实现的生产者与消费者代码package com.hust.juc;/* * 生产者和消费者案例 */public class TestProductorAndConsumer { public static void main(String[] args) { Clerk clerk = new Clerk(); Productor pro
2017-03-07 15:34:22
1932
1
原创 2017阿里算法编程题--数组分片问题
对于一个长度为N的整型数组A, 数组里所有的数都是正整数,对于两个满足0<=X <= Y <N的整数,A[X], A[X+1] … A[Y]构成A的一个切片,记作(X, Y)。 用三个下标 m1, m2, m3下标满足条件0 < m1, m1 + 1 < m2, m2 +1 < m3 < N – 1。 可以把这个整型数组分成(0, m1-1), (m1+1, m2-1), (m2+1, m3-
2017-03-07 12:12:31
2536
原创 Redis (error) NOAUTH Authentication required. 解决方法
我今天去用Jedis去连接我的redis服务器的时候发现报错百度之后让我去redis里设置密码,然后auth password如何进redis服务器在redis的bin文件夹里,有redis-cli可以进去redis服务器如何设置密码用vi 进入redis.conf然后/requirepassword按n就找下一个,就能找到下图这一行,打开#号就能设置密码其实问题不在这儿问题我也没弄出在哪儿,听别人
2017-03-05 09:17:49
27042
1
原创 netty入门小程序
Netty的特性设计统一的API,适用于不同的协议(阻塞和非阻塞)基于灵活、可扩展的事件驱动模型高度可定制的线程模型可靠的无连接数据Socket支持(UDP)性能更好的吞吐量,低延迟更省资源尽量减少不必要的内存拷贝安全完整的SSL/TLS和STARTTLS的支持能在Applet与Android的限制环境运行良好健壮性不再因过快、过慢或超负载连接导致OutOfMemoryError不再有在高速
2017-02-24 09:34:55
1064
原创 Java单链表归并排序
概念归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,归并排序将两个已排序的表合并成一个表。归并排序基本原理通过对若干个有序结点序列的归并来实现排序。 所谓归并是指将若干个已排好序的部分合并成一个有序的部分。单链表实现归并排序找到中间点拆分链表//找到中间点,然后分割 public ListNode getMid
2017-02-24 08:53:59
4968
原创 Java单链表实现快速排序
普通快排的思路选择1个结点为中心点,保证中心点左边比中心点小,中心点右边比中心点大即可。这就是一次快排,确定一个数的正确位置,然后进行递归。单链表的实现为使第一个节点为中心点创建2个指针(p,q),p指向头结点,q指向p的下一个节点q开始遍历,如果发现q的值比中心点的值小,则此时p=p->next,并且执行当前p的值和q的值交换,q遍历到链表尾即可把头结点的值和p的值执行交换。此时p节点为中
2017-02-23 18:08:59
5846
原创 Java线程池和阻塞队列
Java提供了自己的线程池。每次只执行指定数量的线程,java.util.concurrent.ThreadPoolExecutor 就是这样的线程池。ThreadPoolExecutor参数介绍:corePoolSize 核心线程数,指保留的线程池大小(不超过maximumPoolSize值时,线程池中最多有corePoolSize 个线程工作)。 maximumPoolSize 指的是线程池
2017-02-20 10:05:32
4132
1
原创 自用Markdown颜色字体代码
字体颜色<font face="黑体">我是黑体字</font><font face="微软雅黑">我是微软雅黑</font><font face="STCAIYUN">我是华文彩云</font><font color=#0099ff size=7 face="黑体">color=#0099ff size=72 face="黑体"</font><font color=#00ffff size
2017-02-19 13:15:50
3621
原创 Java动态代理的两种实现方法
AOP的拦截功能是由java中的动态代理来实现的。说白了,就是在目标类的基础上增加切面逻辑,生成增强的目标类(该切面逻辑或者在目标类函数执行之前,或者目标类函数执行之后,或者在目标类函数抛出异常时候执行。不同的切入时机对应不同的Interceptor的种类,如BeforeAdviseInterceptor,AfterAdviseInterceptor以及ThrowsAdviseInterceptor
2017-02-19 13:10:02
988
原创 synchronized 修饰在 static方法和非static方法的区别
Java中synchronized用在静态方法和非静态方法上面的区别在Java中,synchronized是用来表示同步的,我们可以synchronized来修饰一个方法。也可以synchronized来修饰方法里面的一个语句块。那么,在static方法和非static方法前面加synchronized到底有什么不同呢?大家都知道,static的方法属于类方法,它属于这个Class(注意:这里的Cl
2017-02-19 12:51:26
1294
原创 多线程中基础Thread和实现Runnable的区别
在程序开发中只要是多线程肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如下好处:避免点继承的局限,一个类可以继承多个接口。适合于资源的共享因为Java本来就是面向接口的,所以第一个特性应该很容易理解,下面我们以买票为例,通过Thread类完成要卖出30张票。虽然现在程序中有三个线程,但是一共卖了10张票,也就是说使用Runnable实现多线程可以达
2017-02-17 09:46:01
723
原创 剑指offer 面试题6—重建二叉树
题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。分析:前序遍历的第一个节点时根,在中序中找到这个根节点,然后左边就是左子树,右边就是右子树,这样就可以递归。用数组来记录,然后每次还重新
2017-02-14 15:16:25
390
原创 剑指offer 面试题5—从尾到头打印链表
题目: 输入一个链表的头结点,从尾到头反过来打印出每个结点的值。考虑用栈public void invertedList1(ListNode head) { if (head == null) { return; } ListNode p = head; Stack<Integer> stack = new S
2017-02-14 14:29:08
434
原创 剑指offer 面试题4—替换字符串中空格
题目: 实现一个函数,把字符串中的每个空格替换成“%20”。加入输入“we are happy.”,则输出“we%20are%20happy.”。它想说的思想:如果是字符数组来存储的话,每次扫描遇到空格都会导致后面的字符向后移动,然后为了节省这么多移动的时间,就先统计空格的个数,然后数组整体扩容空格数乘以3的空间,把那里当作结束,再从尾到头遍历,找到空格就移,这样整体就只移过了一次。效率会高很多。
2017-02-14 13:43:30
452
原创 剑指offer 面试题3—二维数组中找数
题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。基本思想: 首先选取数组中右上角的数字。如果等于要找的数字,结束。如果大于要找的数字,剔除这个数字所在的列;如果小于要找的数字,剔除这个数字所在的行。public static boolean find(int[][] ar
2017-02-14 12:59:00
498
原创 剑指offer 面试题2—实现单例模式
终于把简直offer看完了一遍所以第二遍我决定要美一个题自己去实现一遍,会加入自己的理解(但是不一定对哈)题目:设计一个类,我们只能生成该类的一个实例。饿汉试package T2Singleton;/** * 饿汉式 * @author yxx * */public class Singleton { //私有构造方法 private Singleton() {} pr
2017-02-14 09:52:40
536
转载 《HTTP详解》三部曲
1. HTTP简介HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。 在了解HTTP如何工作之前,我们先了解计算机之间的通信。2. 计算机相互之间的通信互联
2017-02-12 16:52:15
418
原创 面试常见查询语句(能掌握以下几个例子就基本可以了)
表结构: student(s#,sname,sage,ssex)学生表 course(c#,cname,T#)课程表 sc(s#,c#,score)成绩表 Teacher(T#,tname)教师表1.查询001课程比002课程成绩高的所有学生的学号: select sc1.s# from sc sc1 join sc sc2 on sc1.s# = sc2.s# where sc1.c
2017-02-12 16:25:53
1584
apache-maven-3.3.3-bin.zip
2017-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人