自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (5)
  • 收藏
  • 关注

原创 @Scheduled@Async使用注意事项

springboot中的@Scheduled的默认执行器是ThreadPoolTaskScheduler,它是一个poolSize=1的线程池,所以项目中所有的@Scheduled定时任务会串行执行,这显然是会有问题的。exposeUnconfigurableExecutor:暴露不可配置的执行器,指定是否将SimpleAsyncTaskExecutor实例公开为不可配置的执行器。threadPriority:线程优先级,用于设置异步任务所在线程的优先级。默认值为Integer.MAX_VALUE。

2023-05-16 17:50:08 863

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

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:35:30 292

原创 工作三年来的总结

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

2018-02-06 20:41:00 2424 1

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

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

2017-10-30 22:31:23 9078 3

原创 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 552 1

原创 约瑟夫环 java循环链表实现

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

2017-09-01 11:11:24 2687

原创 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 7504 2

原创 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 19199 1

原创 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 1023

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

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

2017-05-03 10:24:26 4029

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

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

2017-04-10 21:35:36 816

原创 jvm垃圾回收分析

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

2017-03-14 16:08:46 439 1

转载 MySQL索引原理及慢查询优化

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

2017-01-10 14:07:55 379

原创 redis实际场景应用

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

2016-11-23 17:12:05 655

原创 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 1176

原创 微信朋友圈实现思路

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

2016-11-01 10:25:30 11231 5

原创 mysql常用语句优化

高性能Mysql读后感

2016-08-08 19:43:38 530

原创 web集中式高并发架构设计

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

2016-07-30 22:55:27 12036

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

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

2016-07-23 16:41:43 2043

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

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

2016-07-01 19:54:15 411

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

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

2016-06-26 00:36:31 39034 6

原创 spring项目整合jedis及注意事项

首先我们需要引入jedis相关的包:(版本跟redis版本无关,不用担心版本问题) redis.clients jedis 2.5.2 接下来我们要在spring的配置文件中配置jedispool(缓存池)跟jedis的bean

2016-06-24 16:37:17 8453

原创 window下redis安装

redis2.4下载地址:https://github.com/downloads/dmajkic/redis/redis-2.4.5-win32-win64.zipzip包中包含了32位跟64位两个版本的redis,根据你自己的操作系统进行选择。将对应的文件解压拷贝到本地磁盘中启动redis服务:打开cmd--进入redis目录--输入redis-server.exe

2016-06-15 10:21:13 446

原创 solr5.x整合IK中文分词

在solr5.x中加入IK中文分词,首先要下载适用于solr5.x版本的IK对应的jar文件下载地址:点击打开链接然后我们需要在mynode(具体看搭建环境那块)中的conf文件下找到schema.xml。并在其最后加上: 其中filed中的type指的是该field使用text_ik对应fieldType的分词器(在这里指的是

2016-05-30 16:28:35 2343

转载 Solr之搭建Solr6.0服务并从Mysql上导入数据

solr5.4版本也适用目前百度上面关于solr对MySQL的集成一般都是4.0左右。但是前solr的版本已经到了6.0,很多配置都和一起不一样了。所以我今天就和大家聊聊solr6.0如何进行MYSQL数据库的配置。(配置的前提是已经搭建好solr服务器了,如果有什么不清楚的可以参考这篇博客:点击打开链接)。步骤1:  在webapps中solrhome下新建一个文件夹名字

2016-05-26 16:34:17 3380 6

原创 solr5.4环境搭建

版本:solr5.4 , jdk1.7 ,tomcat71、解压 Tomcat 到一个目录,例如 E:\Tomcat2、将 solr 压缩包中 solr-5.4.0/ D:\solr-5.4.0\server\solr-webapp\文件夹下有个webapp文件夹,将之复制到Tomcat\webapps\目录下,并改成solr (名字随意,项目访问名称)3、将 solr 压缩包中 so

2016-05-26 11:47:32 541

原创 mysql优化设计方案

首先讲一下项目的场景:1:这是一个基于web的java项目,其主要功能是对一些视音频信息的处理跟展示,其中视音频数据是由爬虫进行爬取的千万级别量的数据2:该项目使用的是mysql5.5版本的数据库3:该项目有一个搜索的功能,需要根据关键字在千万条数据中模糊匹配查询出相应的数据4:该项目可能面向的用户会比较多,会出现大量高并发主要涉及问题:1:本项目对于数据的读操作需

2016-05-08 13:51:39 2228

转载 lucence全文检索

首先呢,学习任何一门新的亦或是旧的开源技术,百度其中一二是最简单的办法,先了解其中的大概,思想等等。这里就贡献一个讲解很到位的ppt。已经被我转成了PDF,便于搜藏。   其次,关于第一次编程初探,建议还是查看官方资料。百度到的资料,目前Lucene已经更新到4.9版本,这个版本需要1.7以上的JDK,所以如果还用1.6甚至是1.5的小盆友,请参考低版本,由于我用的1.6,因此在使

2016-05-07 14:13:17 1250

原创 mysql百万级别数据查询心得

作为第一次接触百万级别数据的查询的我来说一直觉得这是很神奇很强大的一门技术,总以为需要进行表分割啊,负载均衡之类的才能做到查询优化。其实不然,这个级别的数据查询我们只需要有效的利用索引,书写比较高效的sql就能做到(所谓比较高效其实就是尽量少用is not null  , 不要使用like ‘%XX’等会造成索引失效的sql啦,这个度娘上很多例子的)。就我自己的案例讲讲一些注意事项吧:这是

2016-04-22 23:52:06 1944

原创 easyui treegrid动态加载节点

最近在做一个权限管理系统,需要有一个菜单的管理,菜单的数据结构是自关联无限极的一对多关系。在列表管理页面决定选择用easyui的treegrid插件。考虑到其无限层级关系,若要一次性拿出所有数据那需要在mysql中写函数跟存储过程,需要有临时表的存在,这样会相对降低效率,所以选择用动态异步加载的方式请求数据首先来看一下效果图(第一次加载的结果页面):对于treegrid的使用我们可

2016-04-09 17:40:54 15449 3

原创 ssm框架搭建三---mybatis打印sql

修改log4j.properties文件:log4j.rootLogger=DEBUG,CONSOLE,FILEOUT log4j.addivity.org.apache=true# CONSOLE 打印到控制台log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.Threshold=DEBUG

2016-04-04 13:24:18 7618 2

原创 ssm框架搭建二----环境搭建

这是整体的目录结构:首先导入需要的包接下来修改web.xml文件:<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/x

2016-04-02 15:41:11 1075

原创 ssm框架搭建一:中文乱码问题

从今天开始我会记录下自己spring+mybatis+mysql项目的一个搭建以作为以后的参考今天先记录一下中文乱码问题1.首先新建项目后将项目整体编码设置为UFT-82.web.xml中设置过滤器: encodingFilter org.springframework.web.filter.CharacterEncodingFilter true encodi

2016-03-31 22:32:52 15511 7

原创 springmvc mybatis fileupload实现文件断点续传

为什么要断点续传:在传输较大文件没传输完成时若出现断网或者服务器异常等情况则文件会上传失败,使用者需要重新开始上传文件,这样会使用户体验十分不好,所以需要有断点续传。断点续传好的方法是将文件分为N个片段进行上传,这样即使后面的片段还未上传完毕之前已上传的片段也会得以保留。本文使用jquery fileupload插件进行,它负责将文件分为N个片段进行传输,同时会在http请求头部添加一个请求头

2016-03-24 09:51:04 8810 2

原创 对Bootstrap分页封装使用

div class= "row" >            div class= "col-md-12" >                nav style=" float: right ">                     ul class= "pagination" >                               c:if test= " ${page

2015-10-29 17:05:24 1854

原创 session原理解析

首先session跟cookies都是会会话进行跟踪,session通过在服务器端记录信息来记录,cookies通过在客户端记录信息来记录。在此只对session进行分析:     session是记录在服务器内存中的,每当一个用户通过浏览器第一次进行访问时进行创建(需要注意只有访问jsp,servlet等程序时才会创建Session,只访问html,image等静态资源时不会创建

2015-09-10 15:46:26 576

原创 java中观察者模式

1.观察者定义:有A,B,C,D四个独立的对象,B,C,D对象希望第一时间知道A对象内部的数据发生变化,以便做出相应的措施。注:有多个观察者,多个被观察者。观察者与被观察者也不是对立的,一个对象可以观察其他对象,也可以被其他对象观察。2.使用场景:有一家报社提供了一个app,可以供用户订阅报纸。用户可以通过订阅申请进行订阅,此后每当报社那边报纸信息有更新时就会收到新报纸

2015-08-24 16:02:01 444

原创 java杨辉三角

自从参加完蓝桥杯之后就没再怎么好好学习java算法了,最近公司事情不多,刚好利用闲暇时间复习和整理一下对算法的学习。今天就先复习一下当年很苦逼的杨辉三角:            1                    1 1                  1 2 1                1 3 3 1              1 4 6 4 1

2015-08-21 17:45:44 501

原创 同步代码块,同步方法,同步静态方法,同步非静态方法的区别

首先关于锁和同步,有一下几个要点:1)、只能同步方法,而不能同步变量和类;2)、每个对象只有一个锁;当提到同步时,应该清楚在什么上同步?也就是说,在哪个对象上同步?3)、不必同步类中所有的方法,类可以同时拥有同步和非同步方法。4)、如果两个线程要执行一个类中的synchronized方法,并且两个线程使用相同的实例来调用方法,那么一次只能有一个线程能够执行方法,另一

2015-08-21 17:44:35 4393 1

原创 对于异常的总结

首先来看一下Java异常类层次结构图:如图(图片是网上直接拿来用的)看出所有的异常跟错误都继承与Throwable类,也就是说所有的异常都是一个对象(java面向对象嘛)。从大体来分异常为两块:     1 error---错误 : 是指程序无法处理的错误,表示应用程序运行时出现的重大错误。例如jvm运行时出现的OutOfMemoryError以及Socket编程时出现

2015-08-21 17:40:36 492

dubbo+zookeeper+spring+springMVC+mybatis

使用mybatis+spring+springMVC+maven+dubbo搭建的一个消费者与提供者的项目

2016-07-23

适应solr5.x的中文分词IKAnalyzer

适应solr5.x的中文分词IKAnalyzer

2016-05-30

ssm框架整合

ssm框架整合

2016-04-02

蓝桥杯java模拟试题

蓝桥杯java模拟试题,历年蓝桥杯比赛的模拟试题

2013-03-28

数据库l学习心得

本人在数据库学习中所记录下来的笔记,有关于建表,查找,更新等信息

2012-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除