自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 第一篇:基本功之 UML 类图详解及类图设计

UML中定义了用例图、类图、时序图、协作图等九种。设计模式中经常会用到的是类图。类是面向对象系统组织结构的核心,类可以说是对一组具有相同属性、操作、关系和语义的对象的抽象。在UML中,类使用带有分隔线的矩形表示,它包含名称部分(Name)、属性部分(Attribute)和操作部分(Operation)。其中属性的表现形式是[可见性] 属性名:类型 [=默认值]。操作的表现形式是:[可见性] 名称(参数列表)[:返回类型]。详细见下图。1.类图基础属性+表示p...

2021-11-16 15:33:30 791

原创 第三篇:工具篇之DDD(二) 领域驱动实战

一、前言上一篇文章 领域驱动之领域模型,简单的学一学 DDD 了解了一些 DDD 理论,然而 DDD 难点和精髓却是在其实战的落地上,如今的社会不缺乏理论依据和理论指导,但是实实在在的落地似乎成了永远无法落地的承诺。话不多说今天我们拿打车软件作为我们实战的载体,例如滴滴打车、美团打车、T3出行等等。全文思路先从功能分析,到 DDD 的战略设,再到 DDD 的战术设计,最后 基于现实业务的 DDD 实战落地。二、开始战斗2.1 功能分析滴滴打车、美团打车、T3出行这些打车软件都有三

2021-11-16 15:15:23 969

原创 边际知识:java 内功修炼场-设计模式之代理模式

作为官方认定的“农民工”,在受宠若惊之后唯有继续我们的学习之路。也想了一些时间,学什么呢?左思右想之后决定了回归本源,夯实我们的生存执法,首先要从内功修炼开始,内功心法开篇便是设计模式,话不多说让我们开始吧。代理的解释 暂时代人担任 某单位的负责职务。 代理人在代理权限范围内,以被代理人的名义同第三人独立进行民事法律行为,由此产生的法律后果直接归属于被代理人的法律制度。包括法定代理、委托代理和指定代理。 以上是官方解释,用语已经相当直白,就是代替别人做某些事件,而且是暂时代替并不

2021-10-12 23:39:06 97

原创 初识责任模式

初步的认识人力资源领域 HCM 已然成为了香饽饽,HCM 有六大核心模块,其中组织管理可以说是基础建设,在组织管理中人和组织的关系、岗位和职位的区别、组织变更即 reOrg mutation 的复杂逻辑,这些背后都跟如何抽象我们组织这个模型有着巨大的关系,而模型从抽象的程度也决定着将来当需求发生变更包括组织架构随意调整时,我们程序的兼容性都将面临巨大的挑战。HCM 已经是深入了某个领域,也许会认为其具有特殊性。然而我们可以回顾一下过往遇到的系统,组织的增上改查、人员的增删改查、权限的增删改查、组..

2021-09-26 21:43:53 201

原创 第二篇:工具篇之DDD (一)基本认识

写在前面:要不要DDD​ 网上关于领域驱动的相关文章数不胜数,但是就跟我一个同事说的,具体落地的到底有多少呢?我们说领域驱动最核心的就是领域模型,一个稳定的领域模型胜过千军万马,然而在当下依然是互联网的时代,业务告诉发展的时期,一切的产品设计和技术都是服务于业务,然而有多少业务是随心所欲闭门造车临时方案的情况,我想程序员们应该是深有体会。于是带来一个问题,业务层面如此的不固定,我们如何跟业务通过领域建模来统一语言,更别说稳定我们的领域模型了(一段时间范围内的相对稳定)。同时在那些不懂技术的老板眼里,他们

2021-09-22 14:38:49 643

原创 您知道什么是应用架构图吗?

一、开篇我们在学习新的技术或者解决某些业务和技术问题时,很多同学都会一股脑的钻进细节和思考如何快速解决,久而久之形成了点状的知识结构和认知体系。如同我经常在面试一些中高级程序员的时候,经常会问一个问题:java 的知识体系是什么/java 的组成是什么。也正如自己所预期的那样,经常有候选人不知所云,用我高中一位班主任的口头禅:茫茫然不知其所以然。于是我们得到一个结论:体系的思考和学习是如此的重要,以至于另当今浮躁的社会和风气让那些可以沉下来的程序员无形中少了很多竞争对手。二、回归主题我们回归本次

2021-09-17 14:45:31 1665

转载 封神之路

一、基础篇面向对象什么是面向对象面向对象、面向过程面向对象的三大基本特征和五大基本原则平台无关性Java如何实现的平台无关JVM还支持哪些语言(Kotlin、Groovy、JRuby、Jython、Scala)值传递值传递、引用传递为什么说Java中只有值传递封装、继承、多态什么是多态、方法重写与重载Java的继承与实现构造函数与默认构造函数...

2019-10-22 20:23:26 220

原创 第一篇:jvm之性能监控概述

一、概述定位系统问题知识和经验是关键、数据是依据、工具是运用知识处理数据的手段。数据包括:1)运行日志。2)异常堆栈。3)GC日志。4)线程快照。5)堆转储快照。二、jps:虚拟机进程状况工具JVM Process Staus Tool可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟唯一ID。jps命令格式:jps [ options ] [ hostid ]二、...

2018-04-24 18:02:16 173

原创 第四篇:jvm之GC日志

1.33.125、100.667代表GC发生的时间,这个数字的含义是从java虚拟机启动以来经历的秒数。2. GC/Full GC:代表此次垃圾回收的类型,GC表示发生了Stop The World。3.System.gc():【Full GC(System)】4.发生回收都区域:DefNew:Serial收集器的新生代名称。ParNew:ParNew收集器新生代名称。PSYoungGen...

2018-04-23 11:00:20 219

原创 第三篇:jvm之垃圾回收器

一、Serial收集器新生代收集器,在垃圾回收时,必须暂停其他所有的工作线程。即Stop-The-World。评价:老而无用,食之无味,弃之可惜。二、ParNew收集器新生代收集器,serial多线程的版本。ParNew收集器和serial在控制参数、收集算法、Stop The World、对象分配原则、回收策略都保持一致。paramllel:并行,指多条垃圾收集线程并行工作,但此时用户线程仍处于...

2018-04-23 09:28:36 194

原创 第五篇:jvm之虚拟机栈和本地方法栈溢出,方法区和运行时常量池溢出,本机直接内存溢出

一、虚拟机栈和本地方法栈溢出1.设置本地方法栈大小-Xoss注意:实际上设置以上参数是无效的,本地方方法栈大小只能由-Xss参数社会之。2.两种异常(java虚拟机规范描述如下)如果线程请求的栈深度超过了虚拟机允许的最大深度,则会抛出StackOverflowError。如果虚拟机栈在申请扩展空间时,无法得到足够的内存空间,则会抛出OutOfMemoryError。二、方法区和运行时常量池溢出方法...

2018-04-23 09:25:59 282

原创 第三篇:对象在内存中的布局

一.对象布局的组成1)对象头包括哈希吗、GC分代年龄、锁状态标记、线程持有的锁等等。另一部分是类型指针,即对象指向它的类元数据的指针,虚拟机通过这个指针,确定该类 具体是哪个类。2)实例数据存储对象真正的有效数据。3)对齐填充对象的大小必须是8的倍数,对象头正好是8的倍数,所以在实例数据没有对齐时,就有了对齐填充来补全。二.对象的访问定位1.访问方式对象访问方式:句柄、直接指针2.句柄方式访问对象...

2018-04-23 09:25:27 162

转载 第一篇:在Centos7上编译openjdk8源码 安装Eclipse及CDT插件 运行hotspot及调试java项目

1.jdk7下载地址http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.htmlC++,GCC的库此处略过,缺少什么到网上查资料,yum -y install xxxx2.openjdk8的下载地址download.java

2018-04-23 09:23:22 511

原创 第二篇:jvm之垃圾回收算法 ,HotSpot的算法实现

一、标记-清除算法Mark-Sweep问题:1.效率不高。2.产生大量的不连续的内存碎片,空间碎片太多会导致在 以后程序运行过程中如果需要分配较大的对象时,无法找到足够的内存而不得不提前执行另一次垃圾回收。二、复制算法Copying为了解决效率问题,将内存一分为二,将存活的内存复制到另一半,再把已使用的内存空间一次性回收。该算法将内存一分为二,运行时可用内存仅为整个内存的一半,代价太大高,浪费严重...

2018-04-20 11:10:53 219

原创 jvm之如何判断对象已经死了,再谈引用,生存还是死亡,回收方法区

一、引用计数算法通常被认为判断对象是否存货的算法是:为对象增加一个引用计数器,当一个地方引用了该对象时,计数器加1,当引用失效时,计数器减1,当引用计数器为0时,表明该对象永远不会被再使用,可以回收。但是HotSpot不是使用引用计数算法,因为解决不掉对象之间相互引用的情况。二、可达性分析算法基本思想是通过一条“GC Roots”的对象座位起点,从这个节点向下搜索,搜索所经过的的路径称为引用链(R...

2018-04-19 20:15:58 496

原创 第三篇:jvm之对象在内存中的布局

一.对象布局的组成1)对象头包括哈希吗、GC分代年龄、锁状态标记、线程持有的锁等等。另一部分是类型指针,即对象指向它的类元数据的指针,虚拟机通过这个指针,确定该类 具体是哪个类。2)实例数据存储对象真正的有效数据。3)对齐填充对象的大小必须是8的倍数,对象头正好是8的倍数,所以在实例数据没有对齐时,就有了对齐填充来补全。二.对象的访问定位1.访问方式对象访问方式:句柄、直接指针2.句柄方式访问对象...

2018-04-19 13:55:01 196

原创 jvm之java内存区域和内存溢出异常(一)

一、重点概要2个大的问题:1.内存动态分配2.垃圾回收集技术java内存区域的重点:1.区域的作用于2.服务对象3.产生的问题二、运行时数据内存区域1.程序计数器较小的内存控件,当前 线程字节码的行号计数器。CPU在一个时刻只能执行一个线程的指令,所以各个线程的程序计数器相互独立,独立了存储,该区域也叫做“线程私有”的内存。如果执行的还是Native方法,这个计数器值则为空(undefined),...

2018-04-18 14:00:33 220

原创 微信小程序现实问题之低素质客户需求问题

·微信小程序已经在市场摸爬滚打很久了,但是真正是否可用以及是否真正满足客户需求,市场是否真正到了火热的程度,值得怀疑。   根据本人从事小程序开发的经验,短时间内,小程序市场依然会不温不火,而此时客户的满意度会依然出现一段时间内不满,评价不高的现象。   归根结底,其实是目前互联网的客户素质之底,让人瞠目结舌。中国互联网1994年入网,到了今年,已经快要步入中年了。人到了中年会出现中间危机

2017-12-26 15:13:37 1587

原创 hadoop安装过程中的问题

1.slaves用户名一致,即需要相同的用户。(这是Hadoop的基础)2.必须ssh无密码登录3./etc/host 里配置  master和slaves 4.修改/etc/hostname主机名5、/etc/profile的java和Hadoop配置路径6.hadoop   namenode    format7./hadoop/etc/slaves这个文件里必

2017-09-15 01:07:35 228

原创 从程序员到架构师过度---笔记

阅读路径:1. 架构设计入门。2. 领悟大系统架构设计。3. 从需求到架构的全过程。4. 结合工作,解决实际问题。第一章 介绍基础篇关键思想:“分而治之”和“迭代式设计”。运用的方法:“逻辑视图+物理视图”。 模块化分模块划分的不同方法:功能模块、分层架构、用例驱动的模块划分过程。设计方式:“水平分层”、“垂直划分功能模块”、“从用例到类、再到模

2017-09-15 00:57:55 654

原创 说给部分程序员听

我不是个崇拜框架和设计模式的人。但我经常用设计模式解决问题!所以当今天决定项目增加安全框架我丢失了spring security。听到现在风靡的前端框架诸如vue.js,新出的es6,了解后一定程却度嗤之以鼻。都是在抄袭,拿一堆噱头炒作再加入所谓的新的思想,哄的年轻的程序员和部分老中国程序员团团转,不知道有什么好追崇的,成堆的程序员成了奴隶。忘掉了最基础最原始的东西。解决问题才是正道!解决现实

2017-09-15 00:32:14 234

转载 webservice入门实例,CXF方式

1.下载CXF,及先关jar包。CXF 下载地址:http://cxf.apache.org/download.html,选择“File”列中的zip格式下载。解压后可以看到一些文件夹:└─apache-cxf-2.5.0    ├─bin           各种工具    ├─docs        API文档    ├─etc          各种配

2017-05-16 15:07:12 631

原创 Extjs5 tree扩展----treepanel树组件

Ext.define('MyExtend.lib.TreeFilter', {        filterByText: function(text) {            this.filterBy(text, 'text' );        },        /**         * 根据字符串过滤所有的节点,将不符合条件的节点进行隐藏

2017-05-16 15:06:25 371

原创 学习学习内部类,巩固下基础知识

1.概念一个类的定义在另一个类的内部定义。2.好处(简要回答)1.一种代码隐藏机制。2.了解外围类,并与之通讯。拥有外围类的所有元素的访问权限,但是如何做到的呢?回答:外围类创建内部类时,在此内部类的对象中会秘密的捕获一个指向外围类的引用。人无法感知是因为编译器替我们做了这个工作。换句还说:只有内部类和外部类相关联的时候,内部类才能看

2017-05-16 15:05:49 215

原创 模块化之Spring3.0 web fragment和gradle构建项目

1.背景模块化开发很久以前就开始普及的概念。但是到了企业实际情况中,真正把模块化作为系统架构的核心的不多。或者说对模块化有这个意识,但是具体到底该如何实现,有些模糊,同时也许因为项目紧、任务中、deadline时间段,从而更将模块化抛掷脑后。先要解决生存问题嘛,举个不恰当的例子,饱暖思淫欲。从2014年底2015年初,我负责的项目就处在了“饱暖思淫欲”的阶段,于是我也开始想开始朝着

2017-05-16 15:04:57 878

原创 对Maven、gradle、svn、spring 3.0 fragment、git的想法

1.MavenMaven可以构建项目,采用pom方式配置主项目和其他需要引用的项目。同时可结合spring3.0的新特性web  fragment。从现实出发,特别是对于管理不到位,程序员整体素质不是那么高的开发团队,采用这种方式未必能发挥其优势和功效,反而会成为制约前进的一种方式。2.Gradle对于gradle我是相当喜欢和推崇。但推崇不能盲目,和Maven

2017-05-16 15:04:04 321

hadoop安装过程中的问题

1.slaves用户名一致,即需要相同的用户。(这是Hadoop的基础) 2.必须ssh无密码登录 3./etc/host 里配置 master和slaves 4.修改/etc/hostname 主机名 5、/etc/profile的java和Hadoop配置路径 6.hadoop namenode format 7./hadoop/etc/slaves这个文件里必须把所有的slaves的主机名写进去。 8.mast的/etc/hosts slave1的/etc/hosts slave2 的/etc/hosts (localhost: 127.0.0.1可以去掉,只写主机名对应的IP地址)如下 1)以下是master的hosts 2)以下是slave1的hosts 3)以下是slave2的hosts Slave启动不起来解决过程如下: 1.环境变了,hadoop没变: Hadoop/etc/hadoop/slaves 的IP地址要变。 5个重要的配置文件逐个检查,IP地址需要变 2.配置文件确认无错误,看日志: 从logs日志中寻找slave的namenode为什么没有起来。 3.最后发现是hdfs中存在上次的数据,删掉即可。: 安装ssh和解决jdk找不到path问腿

2017-09-15

空空如也

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

TA关注的人

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