自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

高内聚低耦合

Coding Change The World

  • 博客(33)
  • 收藏
  • 关注

原创 Netty源码和实现机制

https://github.com/unscdf117/revolution/blob/master/PlatformSource/netty.md为什么CSDN不搞个从Github导入功能呢 重新排版什么的很烦 懒得写第二遍了

2019-03-01 02:27:17 200

原创 Dubbo部分源码解析

https://github.com/unscdf117/revolution/blob/master/PlatformSource/DubboSource.md跳转github 讲真 懒得重新在CSDN上再排版传图片了 麻烦

2019-03-01 02:26:00 199

原创 Spring源码解析之IOC容器部分

https://github.com/unscdf117/revolution/blob/master/PlatformSource/SpringSource.md因为懒得重新排版传图片 所以直接搬运我github上的仓库中有关SpringIOC源码部分的md见谅!! 没那么多空重新搞一遍...

2019-03-01 02:24:26 219

原创 Docker基于CentOS7使用以及可视化仪表盘

起了一个Docker 背景就不提了.Docker的安装对Linux的内和有要求,输入一下uname --kernel-release查看一下Linux发行版的内核我用的是CentOS7 内核是基于3.10的,如果想用CentOS6上Docker的还是算了,坑很多而且支持的版本很老。我做过的公司除了第一家外都上了7所以我也不写6上的情况了。毕竟CentOS6一点也不6.Docker的安装十分...

2018-11-20 15:31:34 801

原创 Spring中的若干设计模式

Spring不是无端开发出来的,开发Spring的时候用到了一大堆设计模式.或者说Spring是一个通用的组件而非业务组件,要适应各种业务场景,所以必然是抽象的也是处处体现其设计的.代理模式:代理模式的使用场景: 需要有一个执行者与一个被代理对象,而且是必须要执行的事情,但是真实对象并不能够参与或者满足条件,此时需要用代理模式。执行者需要拿到真实对象的代理也就是代理对象的引用,才能执行。...

2018-09-03 21:51:29 408

原创 SpringBoot框架的封装后遇到的一个问题的解决

公司对于原生SpringBoot不够满意 对其进行了改造和封装 推出了Inspire框架 用起来和SpringBoot类似 开发人员对此并无感知.但是项目中遇到了一个问题 我觉得非常值得记录一下在Eclipse当中 是没有什么问题的 但是在IDEA中运行 项目启动时会报一个Failed to introspect annotated methods on class org.springfra...

2018-07-23 10:18:50 429

原创 Spring Framework-Core之ApplicationContextWare

Spring这东西现在是离不开他了 不好说好和坏 也不好说重和轻 总之现在的工作中不得不用而且是越来越离不开了.近期公司上上下下男男女女都在看世界杯 赌世界杯,然而我根本就没看也不关心.我只知道俄罗斯赢了5:0沙特,乌拉 露西亚Spring的上下文ApplicationContextWare是一个好东西,先上源码. 看不出这里有什么东西对吧(原谅我一下 这边是反编译过后的 阅读性可能会差...

2018-06-15 11:21:00 466

原创 ElasticSearch的简单使用以及集群搭建

ElasticSearch在现在的使用是越来越广泛了,全文检索适用的场景十分广泛.和ElasticSearch的设计理念相同的产品有很多,比如Apache开源的Solr,还有老毛子写的Sphinx等等.和Solr一样ElasticSearch也是基于Lucene的全文检索引擎.Solr在索引频繁构建的场景下查询效率会直线下降,考虑到当前公司业务正在扩张,数据量不断变大同时线上服务不能停的情况下...

2018-04-26 10:52:24 1154

原创 多线程的Semaphore

Semaphore是指交通信号灯的意思,常人一般称之为信号灯或者信号量,插播一个题外话,阿里P7的匿名大佬和我说起这个东西的时候一口一个signal,我也没有打脸就手写了signal,然后他说对对对..看来是IDEA滥用综合症吧Semaphore常用于限制某个资源能被同时访问的线程数量,生活中的一个常见的案例,比如:流水线工作台只有5个坑位,但是工厂HR招人的时候一下子招到了10人,在新的坑位...

2018-03-15 12:11:02 314

原创 JVM之GC以及优化

过完年之后感觉人生荒废 说好的不断学习无奈老婆家的习俗太多 什么办新郎官饭什么的赶场太多 根本没时间 都是开车下车吃饭看电影回家洗漱后已经是大半夜…哎呀 不是码农不懂我的苦 我说我想再自己钻研一下自己再学习学习探索探索 无奈人家不肯啊现在趁着人家睡觉的时候偷偷跑出来 打开笔记本 写一篇博文也算是不负内心的一种行为吧 姑且如此Java对比C/C++而言,JVM的存在可谓是一个比较良心的产物,...

2018-02-28 05:30:30 264

原创 Redis的管道(Pipeline)的一些看法

最近病了,病的很厉害.人发烧了,顶着头疼去了网易考拉进行二面.然后让人给怼了,认识了两位大佬加了微信,总算是没有白去..泽州大佬告诉我,要学会思考,不要做代码机器…回到家里,瘫在沙发上一动不想动..之前博文中有讲到Redis的一些使用方式和一些场景以及发生的一些问题.现在我总结一下Reids的PipeLine,也就是管道.Redis的管道可以在大量数据需要一次性操作完成的时候,使用Pi

2018-01-15 23:54:48 15072 8

原创 各种Queue的一个锦集..

说到队列,第一反应就是MQ..- -.MQ是一种队列,市面上也有各种MQ,比如Rabbit,Rocket,Active,Kafka等.语言千奇百怪,消息中间件技术千奇百怪,但是总是有一个核心的设计也就是队列.ConcurrentLinkedQueue: 一个线程安全的高性能无界队列,常用的方法有poll , peek , offer , add. poll:从队列的头部获取到元素...

2018-01-15 01:53:19 224

原创 Redis缓存策略的个人看法.

我曾经用Java代码模拟了Redis的存储和读取,那只是一个功能的简单实现,并没有什么技术含量可言.Redis在如今的互联网应用当中算是起到了一个中流砥柱的作用吧,我姑且这么认知,毕竟在扛并发和缓存方面使用范围比较广,而且集群部署健壮性也是OK的.对于大厂而言可能已经很小儿科,但是对于小型企业而言还是有点帮助的.最近如果有时间准备去看看Memcache,虽然这东西最大存储单槽1MB,Redis是1

2018-01-14 00:15:05 979

原创 FastDFS的一些总结

在之前的工作当中,使用到了FastDFS.最早我也不知道这是什么玩意,只是说老大说使用到它.后来它被搭建起来了,并且在项目中是作为图片服务器使用的.光顾着怎么去用,也没有时间好好做个总结,毕竟小公司就是如此比较繁忙,什么事情都要你做但是什么都做不精..回到杭州之后,被网易考拉的大佬问到了FastDFS,所以在此做一个简单的总结,在以后的工作之中多记录一些点滴,毕竟好记性不如烂笔头.FastDF

2018-01-13 17:24:54 21426 11

原创 并发编程之Master-Worker模式

Master-Worker模式的核心思想是在于Master进程和Worker进程各自分担各自的任务,协同完成信息处理的模式 使用一个图例来简单描述一下: 如图所示Master-Worker的工作机制就是Master接收到了一个任务,对任务进行拆分,并且分配给各个Worker,让各个Worker之间各自运行各自的子任务,最后Worker们的返回结果交给Master进行汇总并且最后返回给任务的

2017-12-25 03:54:12 7697 3

原创 ConcurrentHashMap一点理解(1.7 @Deprecate)

有人的地方就有江湖,江湖中都是套路.之前面试过一个传统企业叫杭州三汇,从面试官的口中得知是做公安项目的,公司本身做CTI语音网关.面试过程就是一个和我差不多年纪的面试官完了上来问了一些简单的问题,基本上都不需要思索就对答如流,半个小时了依旧没有把我面倒我还举一反三了.HR说我不靠谱,我质疑了一下是不是我技术问题,后来才知道面试官心虚了….人家还妄图对我有offer的企业进行一番嘲讽,但是后来人定胜...

2017-12-23 03:36:21 577

原创 Java代码模拟Redis

Redis是C语言编写的NoSQL 存储形式是K->V 可以搭建集群(健壮) 相比memcached一个key对应的value最大只能存储1M而言Redis则十分慷慨可以支持1G(如果你内存足够大未尝不可) Redis能够存储String,List,Set(无序),ZSet(有序).Redis支持push/pop,add/remove等操作,并且这些操作都是原子性的.Redis是单进程单线程的

2017-12-16 04:53:54 1632 2

原创 HashMap源码和JDK1.8以后的一些变化

老夫写代码 就是一把梭 梭哈!!梭哈!!梭哈!!赢了会所嫩模,输了下海干活.JDK1.8以后 HashMap的数据结构发生了一些改变,从单纯的数组加链表结构变成数组+链表+红黑树.如图 其中Node是HashMap的一个内部类,实现Map.Entry接口,本质是一个KV映射,上图中每个元素都是一个Node对象. HashMap顾名思义是通过Hash表进行存储.为了解决哈希碰撞的问题,...

2017-12-06 13:21:55 2785

原创 JVM堆外内存回收原理

今天有一个刷新我三观的一个观念,开拓了我的思维,批判了我的脑回路. 今天我说天龙里面觉得萧峰为什么出门自带BGM,为什么那么叼.他说萧帮主算啥,最喜欢段誉,连妹妹都不放过.我说好歹么啥血缘关系吧,毕竟段誉是段延庆的儿子嘛,隔开三代了.他说好歹还是有关系的,毕竟都是人族嘛….我一口咖啡喷显示器上.说一下JVM堆外内存的回收原理吧.Java有堆内内存和堆外内存,堆内内存有GC,堆外内存的话GC就爱莫能

2017-12-05 23:27:55 6925

原创 一些场景的优化方案和解决方案

两个ArrayList中有大量的数据(比如千万条),直接合并的话对内存的占用是很大的,毕竟ArrayList的底层是操作数组,合并需要创建一个更大的数据来保存之前的两个ArrayList. 此时有一个场景,需要把两个千万级的ArrayList进行合并并且去除之中的重复元素.下意识情况下也许会想到使用Set集合进行去重,然而这样会造成大量的内存浪费,也会造成CPU的大量占用.ArrayList中去重

2017-12-05 21:03:27 1558

原创 ThreadLocal

ThreadLocal: ThreadLocal学名叫”线程局部变量”,作用是使得每一个使用此变量的线程都提供一个变量值的副本(用空间换时间),每个线程都能独立改变自己的副本,不会和其他线程副本发生冲突. 只要线程是活动的并且ThreadLocal实例可以被访问,每个线程都保持一个对其线程局部变量副本的隐式引用.如果这些副本对GC Root不可达,那么在线程消亡之后,这些副本也会相应被回收.通

2017-12-02 08:24:46 199

原创 对JVM的一些理解

又是一年忙碌,终于可以静下来了.本来想着能够再休息一段时间,但是双手离开键盘就是让人不快,尤其是我这种编码疯狗而言,不写代码就如同少了狗粮一般.我觉得休息一段时间有利于我的身心健康,好让我在下一次疯狂之前能够补充好体力和营养,我错了.休息到12月出来面试是最错误的选择.拉弓没有回头箭,Hello world again..JMM(Java Memory Model)内存模型: 1.程...

2017-12-02 02:36:34 383

原创 RecyclerView使用中空指针异常的一些问题

RecyclerView是谷歌推荐替代ListView的一个控件使用过程中如果还是按照之前ListView的办法去做容易产生空指针异常如图 在碎片中的onCreatView中加入RecyclerView的时候 需要new一个View对象使用inflate方法加载布局如果findViewById前面没有view. 则报空指针异常(这个很好发现)还有比较常见的一种人为因素就是用

2017-04-06 02:04:06 2619

原创 Gradle龟速的一刀切

http://services.gradle.org/distributions/以上是Gradle的手动下载地址  毕竟这龟速难忍 还是手动下载来得痛快然后让Studio先自己下Gradle(我就不信它能下完) 因为基本上是下不完的 所以只要开始之后一会 强制终结掉Studio然后把下载好的Gradle包丢到相应的目录里面即可  再开Studio 设置个离线 然后St

2017-04-03 10:58:40 302

原创 碎片到碎片 碎片到活动 之间的通信

Fragment和Activity有些地方是比较相似的碎片和活动之间的通信用一段很简单粗暴的逻辑来证明可行(本来就可行)具体实现是在碎片中的EditText内写入文本 通过按钮点击 将文本内容显示在活动中的TextView中这一段是碎片的代码 里面定义了一个EditText专门用来接收输入的文本内容碎片的布局文件中有一个EditText和两个Button 其中bt_fr

2017-03-12 05:29:53 805

原创 RecyclerView中子项滚动后单页显示的智障一样的错误

现在是凌晨3:55了 人困马乏之后思维也出了问题犯下一个傻逼到无可救药的错误 RecyclerView中的子项们 滚动之后一个个都占据了一整个页面因为RecyclerView的子项需要通过适配器调用打气筒 才可以显示在RecyclerView之中 不仅仅是布局内的控件尺寸要注意 子项自身的布局文件(子项的外壳)尺寸大小也要格外注意  如图否则一个滚出屏幕 等到复用的

2017-03-11 04:04:47 255

原创 AndroidStudio下依赖RecyclerView的一些问题

这个世界上估计已经没什么人再用Eclipse写安卓程序了这是发生在Studio上的问题 AVD测试的时候每一次Launch都是直接崩溃退出看了日志猫发现内容如下这让我气愤了有接近三根烟的时间 不用说了 开始排除问题吧因为RecyclerView虽好 但是使用的时候还是需要添加它的依赖的 步骤如下点击右边+号 然后输入recyclerview搜索一下添加依赖 或者在/ap

2017-03-11 03:15:17 1495 3

原创 回退键的监听以及相关的Dialog使用方法

按下Android手机的back按钮的时候 有时候需要一个友情提示 问用户是否真的就退出了 如下用一种最小白的方法就是重写onbackpressed()方法实现这个逻辑的代码如下 先将super()删掉 不然就调用默认的onpackpressed() 点击回退键直接不管你对话框弹没弹都退出了

2017-03-10 00:25:56 340

转载 (转转转)AndroidStudio下如何输出jar包给其他开发环境使用

Android Studio中对于library类型的Moudle,默认打出来的是AAR包, 但有时候我们的SDK还需要共享给一些其他eclipse的项目使用,这样我们就需要输出JAR包, 可以通过在Moudle中的build.gradle加入task来实现task makeJar(type: Copy) { delete 'build/libs/mysdk.jar'

2017-03-05 02:18:46 276

原创 Android studio下快速生成set get的办法

AndroidStudio下快速生成get() set()的办法alt+insert效果如下

2017-03-02 12:40:36 732

原创 WebView播放优土 tube等网站视频 得开硬件加速

android:name=".thanksActivity" android:hardwareAccelerated="true">

2017-02-27 01:25:14 483

原创 我哥当年写程序恶搞我 如今我写了一个安卓的

时间已经很晚了 写这句话的时候是02:34 随手写一个小程序纪念纪念当年我和我哥在文曲星上的恶作剧当年两个人都很年轻 的确不老 现在具体说也不老 一个20出头一个刚刚而立 两个人不常碰面 但是话题很多 他是个健谈的人 我是个艾森伯格er吐槽作者和MenuItem里面的联系作者都是可以打电话的Button监听响应打电话很简单 随手写  MenuItem

2017-02-26 02:34:47 2179 2

原创 安卓开发tips申请权限 没权限打电话存文件啥都干不了

写安卓程序的时候 没权限啥都干不了。电话打不了 短信发不了 文件存不了 没权限就是最低等公民。所以 要让App能干点像样的事情 必须得有权限调动系统的功能 比如要拨号器(呼死你)得有打电话功能 发短信祝福别人(垃圾短信)得有短信功能 比如说搞个记事本 写个本地日记什么的怎么说也得能储存吧 也得有权限就更不用说什么WIFI 数据流量(开后门) 通话记录(私家侦探)通信录(所谓的大数据)摄像头

2017-02-25 02:08:25 355

空空如也

空空如也

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

TA关注的人

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