8 麦田小猪

尚未进行身份认证

我要认证

计算机男

等级
TA的排名 5w+

冒泡算法-优化-鸡尾酒算法

em~冒泡的原理就不重复了,这个百度下就清楚啦。首先写一版大家都会的冒泡排序代码:当我们现在需要对数组int array[] = new int[]{2,3,1,323,32,233,23,122,13,4254,232,435,242,453,53};进行排序时,我们最简单的方法就是通过两层for循环遍历判断来进行排序,此时O(n^2)public class Bubble...

2019-10-12 17:11:59

工作三年来的总结

人家都说程序员三年一个坎,刚毕业的前三年是艰辛的,是需要我们不断学习不断吸取经验不断受挫的一个阶段。今天就总结一下自己这三年吧~首先先感谢一下我的伯乐,老师跟朋友们。我的第一个伯乐是在南广时候的老总徐总,对于一个刚入门不久的新鸟,能够得到老总的信任跟支持是一件特别重要的事。在南广的一年多里,我从一个连三大框架都用不熟练的菜鸟成为一个能负责项目的老司机,虽然期间自己也是学了很多东西做了很多功课,

2018-02-06 20:41:00

记阿里UC跟cvte社招面试-----都挂了~

首先说一下uc的面试,面的是活动平台组的java技术专家(这title一定要写出来装逼一下)在朋友内推后混了一个面试的机会,然后蹩脚的复习了一些面试题,结果被面试官虐得体无完肤~首先是自我介绍~(以下想到什么写什么,没顺序的)接下来就针对我的项目进行问答:1:画出项目架构图,说说这样设计的好处,并发多少,为什么这样设计等等。-----由于之前公司的项目并发少得可怜,然后为了装逼弄了写负

2017-10-30 22:31:23

kmp算法 java实现

在这就不介绍什么是kmp算法还有kmp算法的解决思路啦,具体算法概念跟解决思路请看此博客:http://www.cnblogs.com/c-cloud/p/3224788.html 里面详细介绍了如何计算next数组,匹配的时候需要移动位数等规则。在此只贴一下kmp算法的java实现:public class kmp { //获取next数组 public int[] getNex

2017-09-04 16:42:12

约瑟夫环 java循环链表实现

首先看一下算法背景:罗马人攻占了乔塔帕特,41人藏在一个山洞中躲过了这场浩劫。这41个人中,包括历史学家josephus和他的一个朋友。剩余的39个人为了表示不向罗马人屈服,决定集体自杀。大家决定了一个自杀方案,所有这41人围城一个圆圈,由第一个人开始顺时针报数,没报数为3的人就立刻自杀,然后由下一个人重新开始报数任然是每报数为3的人就立刻自杀,......,知道所有人都自杀死亡为止.

2017-09-01 11:11:24

MySQL并发导致的脏数据分析

记录一下一个并发导致的脏数据问题(基于MySQL)。问题描述(银行操作员例子):比如A、B操作员同时读取一余额为1000元的账户,A操作员为该账户增加100元,B操作员同时为该账户扣除50元,A先提交,B后提交。最后实际账户余额为1000-50=950元,但本该为1000+100-50 = 1050 。首先分析下如何会导致问题的出现:我们来些一个伪代码表示下A操作员操作执行的过程:

2017-08-31 11:29:27

redisson整合spring

首先讲下什么是Redisson:Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。(摘自redisson的wiki:wiki地址)redisson提供的api均以面向对象的操作方式,将key-value封装成我们熟悉的集合或者对象,我们可以通过封装的api更

2017-06-21 15:19:50

netty——helloworld

首先要引入netty的包,可以在http://netty.io/downloads.html 选择自己需要的版本下载,然后引入它里面的all的jar包。如果你的项目使用了maven,则可以直接用下面代码引入 io.netty netty-all 4.0.14.Final接下来我们先写服务端,新建一个Server类package netty.test;import io.

2017-05-23 16:45:10

linux给角色赋予操作文件的权限

chown -R user:user ./fileName 赋予fileName目录给user权限  chmod 760 ./fileName

2017-05-03 10:24:26

centos配置nat桥接并配置静态ip

1.首先我们要让当前接入网络的连接进行共享,右键下图,点击属性2.勾选进行共享,并在家庭网络连接中选择vmware83.打开cmd,输入ipconfig查看vmware8的ip,注意是vmware8 的4.在vmware中选择左上角编辑---虚拟网络编辑器,点击更改设置5.选中vmware8,在子网ip中输入在cmd中查看到的vm

2017-04-10 21:35:36

jvm垃圾回收分析

本文主要针对Java 堆内存划分,GC垃圾回收做一个简单的介绍1:堆内存被粗略的划分为新生代跟老年代,如图所示,Eden区跟TO,FROM区统称为新生代,Old则表示老年代当程序要实例化一个新对象(非大对象)时JVM 会在Eden区获取并分配内存,当程序运行到安全点或者内存不够需要GC时

2017-03-14 16:08:46

MySQL索引原理及慢查询优化

本文转至:http://tech.meituan.com/mysql-index.htmlMySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统

2017-01-10 14:07:55

redis实际场景应用

例子:有一张表:ArticleTable,其中有playCount,upCount,commentCount分别用来记录浏览数,点赞数跟评论数为什么选择redis:对于一篇比较热的文章,容易出现同一时刻成百上千的浏览跟点赞等操作,如果针对这些操作即时的进行MySQL的update那么会出现并发锁问题,导致应用体验性不好。而redis作为一个支持高并发读写的内存nosql,每秒能支撑几万的写操作

2016-11-23 17:12:05

zookeeper集群搭建

本实例使用三台服务器搭建zookeeper的集群zookeeper下载地址:http://apache.fayea.com/zookeeper/1:将下载后的zookeeper传到linux上2:解压-----tar -zxvf zookeeper-3.5.2-alpha.tar.gz -C /usr/local/             cd /usr/local mv zo

2016-11-07 20:34:07

微信朋友圈实现思路

个人的想法是使用redis进行存储。1.首先以每个用户的id为key生成一个list,list最好根据需求限制一下长度,毕竟不会有人刷朋友圈的时候会刷到前面几千条数据去吧2.然后当用户A发布内容的时候往关注A的用户的list里将内容lpush进去(因为关注人可能比较多,可以使用异步操作),用户A删除内容的时候也将关注人list里相对的内容删除3.当用户要查看朋友圈的时候就返回redis

2016-11-01 10:25:30

mysql常用语句优化

高性能Mysql读后感

2016-08-08 19:43:38

web集中式高并发架构设计

最近一直在研究高并发架构的设计,看了很多关于SOA设计思想,dubbo+zookeeper的分布式服务设计,mq等等,但目前项目处于初步期,还没上线,不能预估用户数量以及将来的并发数量,所以为了节约成本(老板吝啬),快速上线项目,我们项目依旧处于集中式,没有分模块,没有分表分库,只是提高了集中式项目的一个并发处理。首先我们来看一下项目整体的架构(很不规范,凑合着看)我们先介绍下架构

2016-07-30 22:55:27

使用dubbo+maven搭建消费者跟提供者(附源码)

由于项目需求,需要把服务层跟应用层抽离开,要求可以单独部署到不同服务器中。由于考虑到以后可能会做成分布式,所以选择了dubbo+zookeeper的架构。使用maven对项目架构进行分模块管理。zookeeper---动物管理员,它的作用是服务注册中心,dubbo提供者可以在此注册自己的请求地址,所提供的服务等。dubbo消费者可以根据需求向zookeeper请求对应的提供者提供的服务。首

2016-07-23 16:41:43

CentOS下MySQL忘记root密码解决方法【转载】

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 状态。最安全的状态是到服务器的Console上面操作,并且

2016-07-01 19:54:15

在项目中redis做缓存的一些思路

首先,缓存的对象有三种:1:数据库中单条的的数据(以表名跟id作为key永久保存到redis),在有更新的地方都要更新缓存(不适用于需要经常更新的数据);2:对于一些不分页,不需要实时(需要多表查询)的列表,我们可以将列表结果缓存到redis中,设定一定缓存时间作为该数据的存活时间。用获取该列表的方法名作为key,列表结果为value;这种情况只试用于不经常更新且不需要实时的情况下。3

2016-06-26 00:36:31

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享达人
    分享达人
    成功上传6个资源即可获取