自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (6)
  • 收藏
  • 关注

原创 工科毕业生 真实的忠告(0转)

从古到今,美国日本,一律如此!及早为自己配置一个工作环境,装备电脑,示波器(可以买个二手的),仿真器,编程器等,业余可以接点活,一方面接触市场,培养市场感觉,同时也积累资金,更重要的是准备自己的产品,咱搞技术的没有钱,只有技术,技术的代表不是学历和证书,而是产品,拿出象样的产品,就可技术转让或与人合作搞企业!了解他们的经历,思维习惯,爱好,学习他们处理问题的模式,了解社会各个角落的现象和问题,这是以后发展的巨大的本钱,没有这些以后就会笨手笨脚,跌跌撞撞,遇到重重困难,交不少学费,成功的概率大大降低!

2023-03-12 22:04:18 90

原创 DDD:BC Map映射关系

在计划会议中,下游团队相当于上游团队的客户。当两个开发团队具有上/下游关系时,如果上游团队没有动力来满足下游团队的需求,那么下游团队将无能为力。当不同团队开发一些紧密相关的应用程序时,如果团队之间不进行协调,即使短时间内能够获得快速进展,但他们开发出的产品可能无法结合到一起。如果下游团队对变更具有否决权,或请求变更的程序太复杂,那么上游团队的开发自由度就会受到限制。SHARED KERNEL是两个高度协调的团队之间的合作模式,而CONFORMIST模式则是应对一个对合作不感兴趣的团队进行集成。

2022-11-22 22:28:44 662

原创 领域驱动设计概念

1.聚合根设计仓储1)是不是只有聚合根才设计仓储,其他的实体不需要?限界上下文1)一个给定的业务领域会包含多个限界上下文,想与一个限界上下文沟通,则需要通过显示边界进行通信。系统通过确定的限界上下文来进行解耦,而每一个上下文内部紧密组织,职责明确,具有较高的内聚性。2)一个很形象的隐喻:细胞质所以能够存在,是因为细胞膜限定了什么在细胞内,什么在细胞外,并且确定了什么物质可以通过细胞膜。仓储,资源库领域对象需要资源存储,存储的手段可以是多样化的,常见的无非是数据库,分布式缓存,本地缓存等。

2022-03-06 17:06:54 296

原创 领域驱动设计:事件驱动模型

一、事件建模范式1. 关注点:领域行为引起的领域概念的变化;针对状态建模;分析和设计的驱动力是事件,建模的核心是事件,事件引起的领域对象状态的迁移。二、事件风暴1. 工作坊,对复杂的业务领域,探索,高效的协作方法;2. 何为事件:过去发生的事实。不同的人员对事件的理解不一样?3. 关键事件流:识别出一系列的关键事件并将其连接起来,形成一条显而易见 基于时间轴的事件路径。4. 事件的角色:时间风暴中,事件起因-》事件为果;用户,伴生系统,策略(定时器),前置事件。6.时间风暴的两个

2022-02-27 17:06:16 407

原创 Unix设计哲学

初次接触unix设计哲学的概念,简单学习下,或许有助于业务系统的架构设计。以下为网络转载:模块原则,Modularity:写简单的程序,并用好的接口连接它们 清晰原则,Clarity:清楚透明的算法比“高明”的算法更好 组装原则,Composition:写能够跟其他程序一起工作的程序 隔离原则,Separation:分离接口(使用引擎的方法)和引擎 简单原则,Simplicity:尽量简化算法,不到必要的时候不要增加复杂度 简约原则,Parsimony:只要在必要的时候才写大型...

2022-02-27 11:10:01 378

原创 领域驱动设计

一、评论1. "什么适合就选择什么。可是到了最后,似乎还是凭借着经验在跟着感觉走。没有教会领域建模的方法,只有可意会不可言传的感觉"2.在领域世界的建筑墙上,其实刻满了“状态”两个字!3....

2022-02-27 11:07:34 277

原创 性能优化思维导向

强烈参考:性能优化的核心思路,干货分享_明明如月的技术博客-CSDN博客

2021-11-12 21:05:02 322

原创 线上定位

一、Disk1.iostat -d -k -x 查看磁盘IO使用情况2.iotop 查看进程的IO的使用情况3.readlink -f 传唤tid到pid4.文件 /proc/$pid/io5.进程的IO文件句柄:lsof -p $pid二、CPu1.top2.top -H -p $pid3.jstack $pid3.文件系统1.df -h2.lsblk...

2020-10-11 23:02:54 122

原创 混沌测试

一、模拟网络堵塞的情况测试1. 使用工具模拟网络延迟高,网络丢包现象2. 绿色工具clumsy可以模拟不稳定的网络环境:http://www.greenxf.com/soft/201494.html二、模拟文件系统使用100%的主机情况三、模拟IO使用率高的主机情况四、模拟cpu使用率高的主机环境...

2020-10-08 22:00:55 3808

原创 Redis监控工具

一、监控工具1.redis的监控工具很多,在这里介绍一种简单的统计工具,可在线上或者线下进行监控,来协助定位问题。二、Redis-faina2.1 背景redis-faina是由Instagram开发并开源的一个 Redis 查询分析小工具。Instagram团队曾经使用 PGFouine 来作为其PostgreSQL的查询分析工具,他们觉得Redis也需要一个类似的工具来进行query分析工作,于是开发了 redis-faina。2.2概念redis-faina 是通过Redis.

2020-09-20 10:47:17 1428

原创 架构设计之消息队列设计

一、消息队列设计引言:可以从以下几个方面进行考虑:1. 高可用:可扩展,避免单点故障。2. 持久化:消息持久化,落盘,DB。3.高性能:从写数据,读数据,读写分离,增加缓存等。4.数据丢失:增加分区,副本概念,读写分离。5.消费模式:push 还是pull模式6.API易用性:易用的API,灵活等7.易集成性:容易集成到其他框架8.可配置性:一些参数或者模式可以...

2020-03-29 17:33:29 325

原创 SpringBoot与IOC

一、什么是IOC二、IOC的设计理念 1.ApplicationContext 三个常用的Context 1)FileSystemXMLApplicationContext:加载制定目录下的配置文件。 2)ClassPathXMLApplicationContext:加载类路径下的配置文件。 3)AnnotationConfigApplicationCon...

2020-01-05 12:21:34 372

原创 SpringBoot使用踩过得坑(持续更新)

1.包扫描SpringBoot自会扫描启动类所在包和下层包中的Bean;其他路径要扫描需要@ComponentScan("xxx.xxx.xxx")。2.SpringBoot 的redis缓存1) 在同一个类中调用另一个打了缓存注解@CacheAble的方法,第二个调用的方法是不走缓存。2) CacheInteceptor CacheAspectSupport CachePro...

2020-01-05 00:03:50 246

原创 线程池ThreadPool机制

引言:本节将详细讲java解线程原理和使用,主要基于java.util.concurrent.ThreadPoolExecutor类来学习和总结。一、什么是线程池,好处和缺点二、线程池的结构 1.ThredPoolExecutor类的主要属性/阻塞队列 private final BlockingQueue<Runnable> workQueue;//可...

2020-01-04 19:04:40 208

原创 SpringBoot与AOP

一、引言 Springboot的两大核心IOC和AOP:即控制翻转和面向切面编程,今天学习探讨AOP的作用、原理和使用。二、什么是AOP 1.在不修改源码前提下,扩展功能。从而和业务代码剥离,做到解耦。 2.AOP在Spring框架中应用广泛,包括缓存,事务,定时任务,重试等这一些业务类的注解。三、AOP的通知类型 1.Before前置通知:在方法执...

2020-01-03 21:49:55 133

原创 SpringBoot与Shedule定时任务

一、问题描述1. springBoot中的@Schedule注解定时任务,在某些情况下并没有生效,定时任务不再执行,进而导致业务出现问题。二、分析定位1. 首先查看百度有没有相关的问题,查询到有一篇帖子讲到定时任务是串行执行的,而并不是并发的。但是怀疑SpringBoot应该没有这么低级,猜想应该是线程池接收任务去执行,因此翻阅源代码以及做测试,来真正定位以及修改这个问题。三...

2020-01-03 21:49:34 913

原创 MYSQL:查看约束是否存在并创建

DROP PROCEDURE IF EXISTS TEST_UNIQUE;DELIMITER $$CREATE PROCEDURE TEST_UNIQUE ()BEGIN DECLARE cnt INT; SELECT COUNT(*) INTO cnt FROM INFORMATION_SCHEMA.KEY_COLUMN_USAG...

2019-09-24 13:31:19 1065

原创 JVM内存结构以及调优

1.参考,四篇非常好的文章,请仔细阅读:https://blog.csdn.net/u012799221/article/details/73180509https://www.cnblogs.com/csniper/p/5592593.htmlhttp://www.importnew.com/22434.htmlhttp://www.importnew.com/22438.htm...

2018-08-26 11:59:23 324

原创 Kafka

参考链接:1.     https://www.cnblogs.com/jxwch/p/6602169.html2.     http://blog.csdn.net/xlgen157387/article/details/772667193. http://kafka.apache.org/0102/javadoc/index.html?org/apache/kafka/client

2018-01-11 20:07:24 226

原创 SSH登录主机的几种方式

SSH登录一、ssh登录一般分为4种: 1.PAM认证 在在配置文件/etc/ssh/sshd_config中对应参数: UsePAM 2.公钥私钥认证:需要导入公私钥文件 在配置文件/etc/ssh/sshd_config中对应参数: RSAAuthentication、PubkeyAuthentication 我们在配置SSH免密码登陆的时

2017-12-29 10:49:52 15264

原创 RPC

海量互联网业务系统只能依赖分布式架构来解决,而分布式开发的基石则是RPC;本文主要针对两个开源的RPC框架(gRPC、 Apache Thrift),以及配合GoLang、C++两个开发语言进行性能对比分析。C++、Thrift都是比较成熟的技术,先简单介绍一下GoLang以及gRPC。 GoLang Go语言是由Google开发的一个开源项目,目的之一为了提高开发人员的编程效率。 Go语言语法灵活

2017-09-20 13:42:05 454

原创 ElasticSearch

ElasticSearch 基本: 1)接近实时NRT,从搜索文档到获取文档大概延迟1秒 2)集群:cluster,有多个节点组成的一个集群,y有集群名称表示 3)节点:node,参与数据的存储,索引,搜搜功能 4)索引:index,可以定义任一多个;几个相似文档数据的集合,索引名称必须全部小写;对文档进行搜索,索引,存储和删除,更新都要用到这个索引名称 5)类型:type,定义在索引上

2017-09-02 12:17:07 418

原创 土土

一、终止线程池主要有两个方法:shutdown() 和 shutdownNow()。 shutdown()后线程池将变成shutdown状态,此时不接收新任务,但会处理完正在运行的和在阻塞队列中等待处理的任务。 shutdownNow()后线程池将变成stop状态,此时不接收新任务,不再处理在阻塞队列中等待的任务,还会尝试中断正在处理中的工作线程。 二、空闲工作线程如何设置消亡

2017-08-19 16:24:25 222

原创 Java中的拷贝问题

一、拷贝 1)数组拷贝:Arrays.copy(); —数组是新数组首地址空间,但是内部的元素对象依然是原有的实例引用。2)System.arraycopy public static native void arraycopy(Object src, int srcPos, Object dest, int

2017-08-10 22:02:16 231

原创 JAVA中的原子类

一、Java中提供的基本的原子类有: AtomicBoolean,AtomicInteger,AtomicDouble二、原子类的基本特征:手段: 1)保证操作的原子性 2)保证多线程下的可见性。目标: 保证线程安全三、concurrent包常用的类: AtomicInteger、AtomicLong、AtomicReference。...

2017-08-06 10:28:30 253

原创 HTTP安全认证

Http安全认证一、基本认证 基本身份验证它提供了一个方法来解决这个问题,虽然不是很安全。基本身份验证,客户端的每个请求发送Base64编码凭据,使用HTTP[授权]头。这意味着每个请求独立于其他请求和服务器可能/不维护客户端,这对可扩展性是非常好的。下面示出的是准备标头的样本代码。 String plainClientCredentials=”myusername:mypass

2017-07-24 19:21:55 1768

原创 消息中间件

1.消息的优先级2.消息排序3.消息过滤4.消息持久化5.消息重试6.事务的支持7.broker满生产者,队列,消费者消息队列的优点:1)解耦2)异步消息,系统响应在JMs中,有两种消息模型:点对点模式和发布订阅模式。1.在点对点模式中:有三种角色1)消息队列,发送者,接受者;每个消息被发送到消息队列,等待接受者消费,直到被消费或

2017-07-20 19:44:23 193

原创 Java之垃圾回收

一、垃圾回收1.什么叫垃圾回收? 1)回收目标:堆中的对象及其内存;对象或者数组的引用类型对象。 2)系统会自动在内存区为之分配一块内存,对象就保存在这块内存区内,当这块内存不再被任何变量引用时,这块内存就成为了垃圾,等待垃圾回收机制进行回收 2.回收的特征  1.垃圾回收机制只负责回收堆内存中的对象,不会回收任何物理资源(例如数据库连接、网络连接、IO流等资源)。  2.程序无法精准控制垃圾

2017-07-04 19:17:34 267

原创 Java中的copyOnWrite容器

一、什么是copyOnWrite容器 1)含义:写时拷贝复制。 2)在并发访问的背景下,当需要修改JAVA中Containers的元素时,不直接修改该容器,而是先复制一份副本,在副本上进行修改。修改完成之后,将指向原来容器的引用指向新的容器(副本容器)。二、优点 1)支持并发的读,而不需要加锁; 2)读写分离,读和写不同的容器。二、JDK支持 1)CopyOnWriteArraylList

2017-07-02 23:14:00 327

原创 Java中的ThreadLocal

一、什么是ThreadLocal 0.public class ThreadLocal extends Object {…}1.每一个线程都可以通过ThreadLocal对象的get或者set方法来获取或者设置该线程独有的,自己的变量副本。2.各个线程中的该对象都是独立的,其他线程访问不到。二、特点1.该ThreadLocal变量是局部的线程变量。 2.该线程变量是private私有和stati

2017-06-25 21:50:58 215

转载 Flume研究应用

http://www.aboutyun.com/thread-8917-1-1.html

2017-06-24 00:12:42 272

原创 Java中的锁

一、Lock锁 1.锁的用途:控制多线程并发访问共享资源的的一种方式。 2.什么叫隐式锁,什么叫显示锁 隐式锁:使用这把锁时,不需要显示的对锁进行获取和释放,就可以完成锁的功能。比如synchronized。 显示锁:正好相反,代码要显示的调用这把锁的各种控制方法,才可以完成相应的功能。比如Lock锁。二、Lock锁的基本用法lock.lock(); //一定要放在try外

2017-06-24 00:02:38 228

原创 Guava之消息处理机制

一、EventBus是Guava的事件处理机制,是观察者模式的优雅实现。 1.对于事件监听和发布式订阅模式,是一个非常优雅和简单的处理方案。 2.Oberver = Listener 3.EventBus是谷歌基于观察者模式,实现的一套事件处理机制。二、使用 1.使用Guava之后, 如果要订阅消息, 就不用再继承指定的接口, 只需要在指定的方法上加上@Subscribe注解即可 2.创建

2017-06-14 23:01:13 701

原创 HasMap

哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。//实际存储的key-value键值对的个数 t

2017-06-14 21:05:50 451

原创 Java之NIO

一、什么是NIO? New IO;提供了与标准IO不同的工作方式;二、组成部分 1.缓存区(Buffer):主要做数据容器,每一种基本数据类型(除了boolean)都对应一个Buffer的子类; 2.通道(Channel) 3.选择器(Selector) 4.其他。。。

2017-06-01 22:42:07 181

原创 Java之类加载器

一、java的类加载器非分为3类: 1.bootstrap classloader:主要负责java核心API类的加载。2.ExtClassLoader:主要负责Java扩展API类的加载。3.AppClassLoader:主要负责classpath下面的类的加载。二、一个java程序的加载流程 JVM启动–》运行bootstrap classloader–》加载java核心API,也包括Ext

2017-04-25 22:00:22 213

原创 maven pom文件解析

一、什么是pom pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。

2017-01-08 23:19:19 267

转载 Java里final修饰的类变量,实例变量和局部变量

一 final变量简介(转) 1 final修饰变量时表示该变量一旦获得初始值之后就不可能改变。 2 final既可修饰成员变量,也可修饰局部变量。二 final修饰成员变量 1 final修饰成员变量时,必须由程序员显示地指定初始值。 2 类变量:必须在静态初始化块中指定初始值或声明该变量时指定初始值,而且只能在两个地方的其中之一指定。 3 实例变量:必须在非静态初始化块中,声明该实例变

2016-12-15 22:32:26 1204

转载 Java之xml解析

《转载》原文地址:http://blog.csdn.net/smcwwh/article/details/7183869#part4目录(?)[+] 【目录】 一、【基础知识——扫盲】二、【DOM、SAX、JDOM、DOM4j简单使用介绍】三、【性能测试】四、【对比】五、【小插曲XPath】六、【补充】关键字:Java解析xml、解析xml四种方法、DOM、SAX、JDOM、DOM4j、XPat

2016-12-08 23:05:01 249

原创 Java之xml基础扫盲

一、什么才是xml文件?1.可扩展标记语言 2.用户自定义标签 3.xml自我描述 4.内容是一棵树结构二、XML的树结构 1.每一个xml文件都会有一个根元素,总会形成一颗有根的树状结构,并扩展到树的最低端。我是一棵树。 2.父元素拥有子元素;每一个元素允许拥有属性和文本内容;有属性有内容。 3.相同级别上的元素统称为同胞。有父有子。 4.在xml必须有开始标签和关闭标签,否则非法。

2016-12-07 21:20:00 324

阿里巴巴Java开发...1528268103.pdf

阿里巴巴开发手册,Java,数据库等,有志于开发的小伙伴们,一定不能错过。可以规范自己的代码,从而避开编写代码中的坑,

2020-05-10

华为机试题上机总结

有志于去华为的大牛们,可以看一下,华为机试题总结!!!

2013-04-23

最优化方法及其Matlab程序设计

最优化方法 matlab配套程序 详细的解说和精辟的源代码 学习的好帮手

2013-04-09

三星笔试题

三星实习生以及招聘的时候的笔试题,有需要的尽管下,再给点小分~

2012-06-07

c++中的引用和形参

c++中的引用和形参的问题,非常适合那些混沌的同学!

2012-06-07

二维小波变换

论文讲述二维小波变换的硬件实现,很好的参考

2012-05-16

空空如也

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

TA关注的人

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