自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

原创 大数据日志采集工作笔记

数据采集概念许多网站背后都会有一套日志采集系统,负责记录用户的行为数据,再根据自身业务,从各种的行为数据中提取、分析出有商业价值的数据。流程粗略分为:数据采集,数据处理,数据落地(存储)。数据处理分为:实时计算、离线计算。实时计算:要求系统实时处理数据,得到结果,一般应用在实时性要求高的场景,如各个电商、新闻推送网站,通常用户点击几个同类的链接,就会立马计算出用户喜好。离线计算:适合非实...

2019-02-24 19:51:58 2335

原创 基于zookeeper实现"有序"的分布式锁

场景说起分布式锁,第一时间想到的就是使用Redis来实现简单便捷,但是Redis实现的分布式锁是无序的、不公平的。当有业务需求要求保证用户的访问顺序时,redis分布式锁是无法满足业务需求的。(ps:可能是我能力有限)想到zookeeper也能实现分布式锁,上网一搜,果然zk不管有序无序都OJBK。zookeeper特点树形结构。zk类似于文件系统,同样是树形结构,从根节点出发,不断地扩展...

2019-02-24 11:29:21 616

原创 新手搭建zookeeper集群

zookeeper集群的搭建非常简单,随便网上一搜都几百篇搭建教程,本来不想写这文章的,但后来想想还是为学习留下一点记录吧。步骤:从网上下载zookeeper包并解压修改zookeeper配置文件把zookeeper文件夹拷贝到集群其他服务器(节点)新建dataDir目录和myId文件启动zookeeper,搭建成功一、下载zookeeper地址:https://www-us....

2019-01-14 21:00:07 311

原创 Java对象锁的理解

Java 以前理解Java的锁机制认为:锁的类型分为‘类锁’,’方法锁‘,’对象锁‘。 1.类锁(synchronize(静态对象)):类的所有对象都要竞争锁。 2.方法锁(在方法前加synchronize): 同一对象同一方法需要竞争锁。 3.对象锁(synchronize(对象)):同一对象代码块竞争锁。以上都是在学习Java锁的基础理解其实上面所有的锁,都是“对象锁” 类锁...

2018-07-16 14:57:27 22785 13

原创 阿里云直播初步体验

直播的基本思路:本地打开设备录播 -> 数据实时推送到服务器 -> N个客户端拉取数据到本地原理通俗理解: 在服务器上创建一个文件,A直播不断地写入数据,别人不停地读取数据。阿里云直播使用记录: 打开阿里云直播的控制台,会提示你开通XXXLive权限。全部开通,确认。域名配置 我在域名的配置上卡了很多时间,虽然跟着官方文档做,但是总会有意想不到的错误导致视频直播...

2018-07-06 11:47:26 12193

原创 JVM垃圾回收算法的优缺点

最近在学习JVM的一些知识,所以特意写下学习笔记来简单记录知识点,由于只是初步的学习,下面本人所总结的内容都比较简单且不一定正确,如果有什么错误希望大家能指出来,我看到后会进行修正。垃圾分析算法功能:分析JVM堆上哪些对象是“垃圾”引用计数法 每一个对象都有一个引用计数器,当被引用一次时,它都会 +1,引用取消时 -1,当执行GC时,所有引用计数器为 0 的对象都会被视为“垃圾...

2018-06-10 17:38:13 2448

原创 Java设计模式——模板方法模式

概述 通俗点讲,模板方法模式就是在一个模板方法中,按既定顺序执行一组步骤(方法),并将部分步骤(抽象方法)延迟到子类实现。该模式把抽象父类设计为一个模板,所有子类都必须按照模板设定的骨架去按顺序执行方法。抽象类负责实现骨架中的公用方法(通用),子类负责实现必须改变的抽象方法(细节)。作用 所有继承了抽象类的子类都会按照父类骨架编码。通用方法由父类实现,减少代码冗余。应用场景 定制系统项目开发大

2017-12-28 19:32:27 456

原创 Java设计模式——外观模式

外观模式非常的简单,很容易理解。设计目的: 把功能复杂的系统接口,封装成简单易用的接口直接引用 《Head First》里的类图下面是一个复杂的家庭设备系统,有爆米花机、屏幕、投影仪、DVD等设备。可能截图并不是很清晰,但是没关系,只需要知道这个系统很复杂就行。 从类图可以看出了,设备系统有很多的设备,而且每种设备又有很多方法。如果要从外部直接调用,就需要写很繁琐的代码。下面的类图使用了一个简单的

2017-12-20 16:40:33 227

原创 Java设计模式——适配器模式

设计目的: 使旧接口兼容新接口,不改或少改原业务代码使用场景: 公司系统框架上有一个接口A,程序员为了实现业务,创建一个实现了接口A的类并且在业务代码上大量使用接口A提供的方法。过了几个月,公司由于某种原因,要求放弃旧接口A,改用新接口B,但是旧接口A的实现类已经被大量使用在业务代码了,直接实现接口B需要修改大量代码,很容易造成大面积的bug。使用适配器模式解决上述问题类图白话描述:把接口B“塞到”

2017-12-20 11:36:02 189

原创 Java设计模式——命令模式

概述命令模式是把“请求动作或操作”封装成一个“命令对象”,“调用者”通过该“命令对象”把“命令”发送到“接受者”执行“操作”。(看不懂没关系,我刚看命令模式的介绍也不懂,看例子很容易明白了)例子举一个来自《Head First设计模式》的例子:“在餐厅点餐”场景:顾客到餐厅点餐,写菜单给服务员,服务员把菜单给厨师,厨师按照菜单要求做菜。人物:顾客(发起者)、服务员(调用者)、厨师(接收者)。分析:

2017-12-14 12:21:08 278

原创 Java设计模式——装饰者模式

应用场景:一个人身高175cm,他觉得太矮泡不到妹子,穿了一双加厚的袜子增加1cm,嗯感觉效果不明显,再踩在一双加厚1cm的鞋垫,最后还不满意,再穿了一双内置增高3cm的鞋子,成功地把自己的身高“提高”到180cm+,他就被装饰成“大长腿”了。什么是装饰者模式?装饰者模式简单来说就是你想拓展A的功能,但是又不想把它拆了重建,这时你可以创建B,模仿(装饰)A的所有功能,然后在某些方面上模仿(装饰)得比

2017-11-09 12:04:41 325

原创 Java设计模式——观察者模式

概述观察者模式是把两个对象分为被观察者与观察者,它们是一对多的关系,当被观察者状态改变时,所有的观察者都能收到通知。类似于微信公众号,可以把文章推送到关注了这个公众号的用户。举例现在看SSM/SSH框架,xxxService,xxxDao…尼玛这不就观察者模式?在Java Swing中,如JButton的监听器,button.addListenner(new XXXListenner());单击、双

2017-11-08 13:54:24 260

原创 Java设计模式——策略模式

策略模式是什么?要获得某一结果,往往有多种解决方式,每一种方式就是一种策略。比如吃饭方式,每个人可以有多种应对的策略,用筷子,汤匙,刀叉吃饭等等。策略模式就是把对象(人)与具体行为(吃饭方式)分离,各自有自己的实现体系,实现代码解耦和复用。为什么使用策略模式?主要的作用是为了代码解耦和复用。不使用设计模式: 如图所示,使用类继承的方式,父类具体实现了eat()方法,由于每个人吃饭方式都可能不同

2017-11-06 10:18:58 225

原创 搭建SpringMVC+Spring+MyBatis简要过程

准备搭建一个个人网站,由于以前没搭建过SSM框架,上一间公司虽然使用Struts2+Spring+MyBatis,但是基本上是在框架之上写业务,对几大传统的框架理解还是很浅,而现在工作的公司使用的是Play框架,有别于SSM这类框架,是一种非常轻量级的框架。本来有打算用play的,但是考虑一些ssm太久没使用过了,这次就顺便当练手吧。不打算去记录搭建的每一个步骤,因为这类型的文章实在太多了。基本上网

2017-10-23 10:39:00 667

原创 子类和父类实现同一个接口的意义

在阅读Java.util.ArrayList源码的过程中,我产生了一个小疑惑,ArrayList实现了List这个接口(这没问题,学Java的都知道),但ArrayList的抽象父类AbstractList同样实现了List接口。想了很久这样设计有什么特别的作用? 父类已经实现了接口,子类继承父类的所有方法,同样能实现接口的所有方法啊,完全没必要子类再去实现该接口!

2017-09-30 10:26:36 4406 2

原创 Java爬虫入门之Jsoup使用

刚刚开始学习爬虫,因为本人是一枚初级Java工程师,平时基本上都是使用Java的,所以选择了用Java语言进行爬虫的入门语言,至于现在很热门的Python语言暂时还不熟悉,这个以后再去了解。概述 Jsoup是Java中用于解释Html语言的API。用户可以用它来解析文本html代码,也可以直接解析url地址。把html代码加载到内存,能按需要提取所有或特定的标签或内容。Jsoup还提供selec

2017-08-30 10:16:26 926

原创 动态代理异常com.sun.proxy.$Proxy0 cannot be cast to

本人在学习动态代理的时候,做了些练习,结果报出了 Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to异常;与网上其他人写的例子进行仔细对照,发现了原来改回来后就运行成功了。PS: Work是接口,Hello是实现类特意在网上查了一下,发现自...

2017-07-25 11:57:48 33326 14

原创 Object[]数组与String[]数组转换问题

在一本书中看到Object[] 与 String[] 的转换。发现有点很奇怪Object[] ob = {"hello","World"};String[] str = (String[]) ob;//报异常Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be c

2017-07-19 09:37:56 20445 2

Spring+SpringMVC+Mybatis简单搭建

本人的练习,利用Spring+SpringMVC+MyBatis搭建的项目

2017-10-23

C++ 简单的学生管理系统

C++ 最基础的学生管理系统。新手可以看看

2014-07-08

空空如也

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

TA关注的人

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