自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术与生活的追求

Java小菜鸟的成长之路

  • 博客(164)
  • 资源 (3)
  • 论坛 (2)

原创 我是一个青年

沾上帝都的生活,你会发现自然的,你会有这些变化。我觉得外部环境导致了你会发生这样的变化。 来到了帝都,会发现优秀的人太多,所以你会想着如何提高自己,继而做出一些行动。一个陌生的环境,只有自己,所以你会想念一些人。有了高兴或者伤心的事情,所以你会想着和你的朋友诉说,但是你可能会拿起手机又放下。工作的忙了,你也会十分的想做一些事,会挤出一些时间去做。在帝都,也会学会打造自己的...

2019-12-11 23:20:36 195 28

原创 redisson分布式锁

接口做幂等的方式很多,我们应用使用分布式锁+插入明细来做幂等。但是发现幂等失效了,最终确认是业务执行尚未结束,还没有插入明细。但是客户端第二个访问就来到了,此时呢,分布式锁的时间也失效了。 也就是两个问题:1是业务执行为什么很慢,这个就有很多种情况暂不考虑。考虑第二种情况,能不能加长分布式锁的时间。由此仔细看了看redisson的分布式锁。先来一个redisson的分...

2019-08-25 20:09:12 144

原创 程序员的日常——多线程一

前段时间面试,问了一个简单的问题, 当一个服务需要调用多个外部服务时,调用链比较长,当是同步调用时,将会是多个服务响应时间的综合。而我们使用异步的方式,将会取决于最大响应时间的服务。比如现在有4个服务,学生服务 1秒,教师服务2秒,班级服务3秒,宿舍服务4秒。我们采用同步调用的话,将花费10秒多。假设 学生服务和班级服务相互依赖。所以组合起来异步调用花费3秒...

2019-08-21 01:02:17 97

原创 博客被点赞了!!!

昨天博客被别人点赞了,而且啪啪啪连点三篇文章的赞,非常的好奇谁给点的赞,还点的这么快,于是看了看,发现是其他博客的一博主用程序自动点赞的。这就引起了我的好奇了,之前因为某些原因想做一个刷评论的工具,因为没有解决登录的问题,很是尴尬没做成。就好奇博主是怎么解决登录的问题的。 网上搜寻了一波,看了看有关这方面的内容,到现在基本已经了解了自动点赞的这么的流程。大概思路...

2019-08-13 23:05:46 193 1

原创 Kafka笔记整理

本周在部门和大家分享了Kafka,但是分享的效果不太好。仔细想了想,Kafka的内容还是过多的,而且内部很多东西是需要经过大量的资料来深度挖掘这些知识。所以打算从Kafka的几个点来进行整理笔记。Kafka的批量消息...

2019-08-11 23:17:20 94

原创 Spring之前必须会Servlet

Spring已经不是一个框架,而是一个开发生态圈了,越来越多的框架,工具包都在Spring的基础上开发而来,所以很有必要对Spring不断进行学习,所以打算对Spring再次学习。那么学习Spring之前需要了解Servlet,Spring的入口就在Servlet里。先来了解下Servlet。Servlet有几个重要的接口,需要了解。init() ——> 在Serv...

2019-05-27 00:11:15 4448

原创 Redis 事件机制

       漫长的上线等待时间,写一篇博客吧。    Redis 基于Reactror模式开发了自己的网络事件处理期,这个处理期被称为文件事件处理器。文件事件处理器使用I/O多路复用程序来同时监听多个套接字,并根据套接字目前执行的任务来为套接字关联不同的事件处理器。当被监听的套接字准备好执行连接应答,读取,写入,关闭等操作时,与操作相对应的文件事件就会产生,这时文件事件处理期就会调用...

2019-01-23 01:50:09 174 1

转载 并发编程的线程模型

本篇博客是对线程工作模型的一个整理,对目前的一些编程模型做个整理。整理于一篇文章:详情点我        串行同步模型:一般的程序都是该模型,该模型有一个wroker线程接收任务请求,然后处理完毕后返回处理结果。分为两个动作,接收任务,处理任务。这个过程是一个阻塞和同步的。我们可以任务这种模型是处理一些简单并且不耗时的任务。  在很多业务场景下,任务可能执行的较慢,所以我们增加...

2019-01-22 23:45:47 155 1

原创 一次死锁的追溯

大早上的来到公司,连接上xshell,观测下stage环境上的日志,竟然发现了一条死锁。果断找了下dba,打印出来了死锁的日志。LATEST DETECTED DEADLOCK------------------------2019-01-21 07:00:05 7f82879b7700*** (1) TRANSACTION:TRANSACTION 358023024...

2019-01-21 23:55:56 196

原创 Unix网络模型

上篇文章说了,内核态和用户态。这篇说下和内核态和用户态有关的 网络IO模型。先来回顾下内核空间和用户空间:    内核空间:内核进程所在区域,主要是由系统级别的代码进行操作,偏向于底层的操作。    用户空间:我们所写的程序,例如JVM进程。可以访问的区域。用户态的进程一般通过向内核发起调用才能完成IO操作。    对于系统的IO操作,都需要从用户空间到内核空间,然后再由内核空间数...

2019-01-20 23:06:24 163

原创 Linux中JVM的内存

      最近公司业务上升,该redis哨兵提升为cluster模式,在进行方案设计时,发现对redis的一些基本特性不了解。所以打算了解下redis的基本特性,期间看了一篇文章,和之前了解到的Unix的IO模型以及ByteBuffer.allocateDirector直接申请系统内存有很多共鸣之处,所以打算记录下来。详情点击       Linux系统把内存分为内核空间和用户空间。采用这样...

2019-01-19 22:58:03 401

原创 redis的学习记录

    出来混迟早要还啊,今天发现线上的 要给数据库表数据量竟然达到了9位数,没有预料到涨的这么快。怎么解决的呢,重命名表,再创建一个线表,用真是经验告诉你,这个操作时秒级的,一秒搞定。然后为什么这么多的数据量呢,这张表是一个记录主表变动的表,在程序处理没有对变动前后做判断,如果变动前后是一直的,那么就不需要记录,如果能把这个判断加上,就会减少很多。windows redis下载地址h...

2019-01-06 23:40:16 142 2

原创 Centos 7 Redis-Cluster安装过程

        本想重新搭建一次,碍于时间,还有明天的工作,只好借助回忆总结一下了。推荐学习Redis时,也看一些缓存设计。redis-cluster集群是redis本身提供的一种无中心化的集群。基于cluster的集群模式,至少要三主三从。因为cluster的故障恢复是基于半数投票的。具体细节原理请参考 《Redis开发与运维》。下面不再多说,进入正题。我的例子是基于本机的虚拟机,开...

2019-01-06 00:38:39 148 1

原创 git 使用经验

    入职公司有3个多月了,写下最近使用公司git的经验。上图是我本地仓库与我的私人仓库,公司代码仓库的关系。        一般我们在书写代码时,先通过commit提交代码到本地,然后通过 git push命令提交到个人私人仓库,这个是远程的仓库。只不过,提交完代码后,还需要通过 git网页版的merge request合并到公司的代码仓库,这个过程一般需要由公司其他人去合并,其他...

2019-01-04 23:29:34 190 1

原创 window10 搭建 php + nginx 环境

元旦,不说了,没得玩,元旦的前一天电脑很蓝,告诉我你得重装系统了。于是又开始新一波的装系统(大神装的,不是我),配环境。先从配置PHP的环境配置说吧。本次实验的主要材料 php -7.1.22包 nginx-1.15.8Composer-Setup.exephp_redis-3.1.6-7.1-ts-vc14-x64在php-7.2以前,Object等关键字是软保...

2019-01-02 22:33:55 1058 2

原创 centos7下redis-主从搭建

纯粹记录本次安装redis的过程。首先先下载 redis安装包wget http://download.redis.io/releases/redis-3.2.8.tar.gz然后解压redis安装包tar -zxvf redis-3.2.8之后进入解压后的包里面cd redis-3.2.8makemake PREFIX=/usr/local/redis inst...

2018-12-11 23:55:51 587 1

原创 Navicat 没法导入MySql数据

    情况是这样的,为了保存线上的数据,所有从线上把数据下载到Excel里了,导入本地的Mysql,Navicat的导入向导竟然说 无法打开文件。在机缘巧合之下,打开了Excel,发现此时再导入就OK了。你不是不能打开,我用Excel程序给你打开。真的不得不说,很有意思的一件事情,记录一下。...

2018-12-04 01:02:17 310 1

原创 忘记过去,展望未来

        写这篇博文先聊下之前的一个老同学,分开十年了吧,联系也不多。不知道他会不会看到。秉烛夜游,通宵达旦,十分想念:不是为了学习而学习,只为有激情,有能量而去奋斗。现如今,很少有这样的精神出现,更不用说有这样的伴者在身旁。所幸,最近的这几年,因为一个老师,因为一些人,能够为做事而通宵,能够为做事而去努力,多了一些患难,少了一些放纵,结果也令人很满意,很开心。更重要的是那种感觉,那种能量又...

2018-11-26 00:24:46 451 1

原创 Java 线程池分析

 本篇文章主要讲述自己对于线程池的理解。创建线程池,能够降低线程小韩,比如通过线程池不需要频繁的创建线程,销毁线程。能够对线程进行统一管理和监控,防止出现不断创建线程的资源卡死等问题。线程池的参数:线程池有各种各样的参数:线程池大小,线程池扩容最大大小,线程是的空闲时间,线程的阻塞队列类型,任务太多了的处理策略。线程池大小:线程池的大小,当可执行任务达到后,只要线程的数量还...

2018-09-04 14:28:57 119 1

原创 Dubbo——服务暴露过程分析

    这篇文章来叙述对dubbo的服务暴露前的准备工作:使用Spring配置文件,通过main方法来启动spring容器,来观察dubbo服务的启动过程。dubbo配置文件 <context:component-scan base-package="com.wk.order.service.impl,com.wk.order.facade.impl"/> ...

2018-09-02 20:18:20 3021 1

原创 dubbo整体概览

    dubbo为分布式服务框架,天生下来就是来构建分布式服务的,dubbo的一大特点就是分层结构,而且层与层之间都可以解耦,方便扩展。dubbo本身也提供了各种各样的功能。对于分布式来说,dubbo的两大特点,集群容错和负载均衡。对于企业级应用来说十分合适。而且dubbo对于项目的配置也十分的简单。对于spring也是无缝连接。    dubbo与spring cloud的对比对于二者...

2018-08-26 23:56:02 245 2

原创 多线程——ReentranLock重入锁

   前言  对于阅读源码来说,能够提高自己的理解里,根据源码逆推代码的功能和目的。对于理解项目需求来说,能够更加的快速。   阅读源码,也能够提高自己的见识,对设计模式有更加深刻的体会。  第三点,也是最终要的一点,阅读源码,得带着问题去阅读,首先罗列自己的几点问题,然后再去理解。这点对于纯粹看源码来说要有效率多了。一开始本人阅读时,就没有一个问题,结果读的发怵了,产生了一种对编程极...

2018-07-29 23:20:23 368 4

原创 多线程基石——synchronized锁

1.2.1 synchronized锁synchronized锁具有先天性的重入性。每个对象拥有一个计数器,当线程获取该对象锁后,计数器就会加1。释放锁后就会计数器减一。任一对象都有自己的监视器,当这个对象由同步块或者这个对象的同步方法调用时,执行方法的线程必须先获取该对象的监视器才能进入同步块和同步方法。如果没有获取到监视器的线程将会被阻塞在同步方法的入口处。进入BLOKCKED状态。...

2018-07-22 23:32:35 123 6

原创 Linux 五种IO模型及任务处理线程模型

IO模型1、阻塞式I/O2、非阻塞式I/O3、I/O复用4、信号驱动式I/O5、异步I/O基本并发线程模型1、串行工作模型2、并行工作模型3、单线程reactor线程模型4、多线程reactor线程模型5、混合型reactor线程模型...

2018-07-15 23:31:18 553 5

原创 mysql -InnoDB 事务隔离级别 ACID 锁

事务的特性原子性一致性隔离性持久性事务中出现的问题脏读不可重复读幻读4个隔离级别事务隔离级别脏读不可重复读幻读读未提交(read-uncommitted)是是是不可重复读(read-committed)否是是可重复读(repeatable-read)否否是串行化(serializable)否否否4种隔离级别实现的原理以及使用锁的情况几个锁的名词乐观锁悲观锁间隙锁行锁表锁页锁X锁S锁Y锁事务回滚,自...

2018-06-24 19:55:31 195 13

原创 spring 结合Velocity异步发送邮件

    参考资料:Velocity:https://www.cnblogs.com/xiziyin/archive/2009/11/22/1608264.htmlhttps://yq.aliyun.com/articles/17142https://blog.csdn.net/strawhat2416/article/details/8931707@Async异步方法https://www.jia...

2018-06-17 10:03:35 476 6

原创 聊聊HashMap那点事儿

   项目中一般都会用到HashMap,面试里也经常会问到这些东西。那么, 今天咱们就来说一说HashMap,要深入的学习HashMap的原理还是很简单的,因为它是一个东西,不想Spring是一堆东西。    从哪里说起呢,先从最最基本的类型来说: String 和Integer。这两个类型基本上可以代表项目里的所有类型了。其他的什么枚举,或者对象什么的都是基于这两个类型的,至少目前来说是如此的。...

2018-06-10 17:00:13 346 4

原创 与动态代理不得不说的故事

      最近呢和动态代理发生了一些故事。从相识,到相知,到今天520,写写博客。算是对动态代理有一个交代。下一步转战rabbitMQ,没办法MQ和动态代理就没法比,因为就是两个东西。     由于早早的就知道了动态代理的美名,所以特地针对它做了一番布置。基本上就是从简单,到复杂,到深入的这么一个过程。1、从基本概念入手,多多了解,足够了解了才能好好的嘛。这部分主要是静态代理,还有动态代理的一些...

2018-05-20 18:22:48 214 17

原创 多线程随想录——多线程分块下载文件

参考资料疯狂Java讲义IO操作篇,多线程篇。课后题讲义。业务背景1、启动程序时,检测任务列表是否有没有完成的下载任务,有的话,呈现出下载任务2、有任务的话,继续下载,没有的话建立下载任务。3、暂停下载,关闭下载任务的所有线程3、开始下载,唤醒所有的下载任务。基本步骤讲义实现的步骤很明确,而且逻辑也很严谨。自己做主张,把讲义的代码改了改,发现不能改啊,改了会有好多麻烦。讲义的代码结构设计很棒。1、...

2018-05-13 20:05:05 457 11

原创 基于SSM框架的dubbo的分布式框架搭建——mybatis,spring,dubbo整合

 使用dubbo的service注解可以注册服务到zookeeper,使用dubbo的refrence注解,可以把远程调用的服务注入实例。也就是说:当项目的service需要暴露时,就使用dubbo的service,否则就使用spring的service。当然喽,使用不同的service就得使用不同的扫描包配置。dubbo的service对应dubbo的扫描包方式,spring的servi...

2018-05-02 00:15:44 2041 14

原创 80端口被NK Kernel & System占用 PID=4

     解决问题不在于解决的方法,也不在于解决的结果,而在于解决的过程。先说下怎么解决结束 sqlserver的 Reporting Service管理器程序,没准可以      问题背景:项目是基于dubbo的分布式项目。各模块之间存在restful的get和post接口的访问。路径地址是配置在properties文件里的。默认是80。而本人的项目80端口被一个system的端口占用。由于项目...

2018-04-30 20:08:26 1080 6

原创 基于 org.apache.http.client 访问http接口

    背景    虽然有了dubbo提供的服务接口,但是在项目与项目之间仍旧存在着http访问的接口。那么怎么调用呢?httpClient这个工具包用起来就十分的方便了。一般获取到接口返回的数据时,都需要做json反序列化为对象。可以使用spring-mvc依赖的 com.fasterxml.jackson.core。也可以使用com.alibaba.fastjson参考资料:https://w...

2018-04-15 23:45:09 877 23

原创 Twitter-Snowflake算法自动生成ID——待整理

    背景:解决分布式自增ID发生碰撞问题。挺简单的。采用64位的Long类型数据,而不是uuid类型的。    优点:可以根据自己的业务需要进行修改。参考博客:http://yuanhsh.iteye.com/blog/2209696https://www.cnblogs.com/relucent/p/4955340.html以下纯属代码了,不喜者勿进public class Snowflak...

2018-04-15 23:21:58 299 15

原创 Mybatis懒加载——返回前端数据 json序列化错误

    先来个大家一大丢的错误 HTTP Status 500 - Request processing failed; nested exception is org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class org.a...

2018-04-15 19:25:31 4606 13

原创 angular——上传下载文件

html篇 <!-- 下载文件 --><div><a (click)="getFile()">点我测试post方式下载文件</a></div><!-- 上传单个文件 --><div><input type="file" (change)=&

2018-04-03 23:53:12 8571 14

原创 spring上下文启动时,bean注入

    什么也不用想了,spring默认的单例模式,是在web启动时,通过上下文直接把所有的给注入的。为什么呢?因为我在启动Web时,Controller带有@Autowired注解时报错,报创建bean的问题。但是去掉AutoWired就可以了。也就是说spring在启动时,就已经扫描到带有Autowired的字段了。...

2018-03-19 15:50:13 1211 17

原创 javaScript实现clone就是这么简单!

    实现Cloneable接口的类能被复制。看js怎么来实现 clone(data: any): any { let model = {}; for (let item in data) { console.log(Object.prototype.toString.call(data[item])); if ( data[item] instanc...

2018-03-14 20:50:10 2146 18

原创 2017年终总结

    2017快结束了的时候,自己突然觉得自己长大了。总结下这一年。觉得自己成长了。知道了好多。独立了好多。2017年的末尾,我有一个不一样的年会。     很庆幸我有了一个十分开明的妈妈和爸爸。也庆幸我来到了大米时代这个公司,在这个公司里。每个人都坦诚以待。在这个年会上,毫不避讳的说出每个人在生活,在习惯,在工作上需要提升的部分,说完之后,还可以照常交流。一直期待有着一帮类似《恰同学少年》中的...

2018-02-28 23:57:22 157 1

原创 angualr总结

前言   我们首先应当充分的认识到前端最重要的还是页面布局设计,css样式和javaScriptangualr框架帮助提高了开发效率,利用typescript减少了js面向对象部分的书写。传统前端开发少不了DOM操作,而angualr封装的指令可以让我们轻而易举的获取DOM元素。所以angular开发前端是一个十分简单,容易上手的一个框架。1、angualr与浏览器交互的方式    传统前端页面都...

2018-02-27 20:55:17 192 19

原创 Java基础——003反射(中)eval函数的实现

     Js中有eval函数,可以执行字符串。具体思路是这样的首先生成源代码,然后进行编译,最后通过反射的方式加载类文件,创建实例,执行方法。方法1:public class EvalSuccess extends ClassLoader { public static void main(String[] args) { EvalSuccess escs = new ...

2018-02-12 09:40:36 241 21

install-ruby-rvm.gz

安装Ruby的rvm包。当遇到Ruby version >=2.0.0的时候,必备资源。

2019-01-06

MongoDB教程

2017-02-05

WCF服务与客户端的调用

两个解决方案实现WCF远程调用

2016-06-19

朕害想民刁有总的留言板

发表于 2020-01-02 最后回复 2020-01-02

" 从索引0开始,初始化字符串不符合规范"

发表于 2016-01-30 最后回复 2018-05-31

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