2019-12-18 16:48
案例
💛原文地址为https://www.cnblogs.com/haixiang/p/12058894.html,转载请注明出处!
工厂模式#
简单工厂模式
工厂方法模式
抽象工厂模式
简单工厂模式#
简介#
简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
将“类实例化的操作”与“使用对象的操作”分开,让使用者不用知道具体参数就可以实例化出所需要的“产品”类,从而避免了在客户端代码中显式指定,实现了解耦。
...
2019-12-18 16:49
1.扯一会
提到Mac很多人估计会觉得高大上,其实我也是这么认为的,因为我在13年之前用的不是Mac 而是普通的笔记本,总幻想着拥有一台Mac,当然了这个愿望在13年10月份左右就实现了
Mac最大的特点估计就是
a. 装x
b. 轻便好携带
c. Mac OS系统的流畅,以及几乎没有广告以及病毒的侵扰
d. 很容易编写、运行类Unix系统平台上的程序(MacOS就是根据很久之前的Unix系统发展而来,当然得支持Linux控的需求啦)
e. 搞UI设计的同学也非常喜欢
。。。
2.引入正题
...
2019-12-18 16:43
[WMV=400,300,True]upload/[/WMV]Weed3,微型ORM框架(支持:java sql,xml sql,annotation sql;存储过程;事务;缓存;监听;等...)
05年时开发了第一代;
08年时开发了第二代,那时候进入互联网公司,对性能有了全新的认识;
14年时开发了第三代。因为不喜欢滥用反射,不喜欢有很多配置,所以一直在执着的没放弃。
前两代,都是在.net开发的;第三代,重点放在了java上。应该算是个功能全面且最小的ORM框架,无其它依赖,仅0.1mb。对外的接口也不多,主要由DbContext上的四个接口发起所有的操作。
...
2019-12-18 16:15
概要本文的想法来自于本人学习MySQL时的一个知识点:MySQL Innodb引擎中对缓冲区的处理。虽然没有仔细研究其源码实现,但其设计仍然启发了我。...
2019-12-18 16:46
数据脱敏#
数据脱敏又称数据去隐私化或数据变形,是在给定的规则、策略下对敏感数据进行变换、修改的技术机制,能够在很大程度上解决敏感数据在非可信环境中使用的问题。根据数据保护规范和脱敏策略.对业务数据中的敏感信息实施自动变形.实现对敏感信息的隐藏。
脱敏方法#
项目是在controller层进行脱敏,查阅google和github有两种较为方便的方法
一种是基于注解 desensitized基于注解的形式进行脱敏 GitHub
一种是基于框架本质上还是注解,但是已经封装好了,当然还提供fastjson的方式进行脱敏 sensitive框架进行脱敏 GitHub
...
2019-12-18 16:13
持续输出原创文章,关注我吧面试是一个很奇怪的过程,都是拧螺丝的。但是问的都是如何造火箭,一个敢问,一个敢答。...
2019-12-18 16:38
选择器的用处就是告知浏览器,我这一大堆的样式要用在哪些元素
选择器很重要,学好了,可以减少很多CSS代码,不用像以前一样,一大堆类选择器。
以下为了方便查看CSS代码,我采用内联样式的方法,但在实际开发中,建议用外联样式,这有利于页面的性能优化。
id选择器
id选择器,要在标签添加id属性和其值,css根据id来赋予元素样式。
在一个网页文件中,id名不能重复,如下代码有个id="div",就不能再来一个id="div"了,但可以是其他的值,Id名就像身份证一样,每个只有一个,并且不能重复。
...
2019-12-18 16:44
2019 年 11 月 9 日,.NET Conf 2019 中国峰会于上海中谷小南国花园酒店举行,全国的 .NET 大咖相聚上海。...
2019-12-18 16:11
前言
分布式锁一般有三种实现方式:
数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。
本篇博客将介绍第二种方式,基于Redis实现分布式锁。
虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。
可靠性
首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件:
互斥性:在任意时刻,只有一个客户端能持有锁。
不会发生死锁:即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。
...
2019-12-18 14:01
(1)任何一种程序设计语言设计的程序在运行时都可能出现错误。
(2)捕获错误最理想的是在编译期间,但有的错误只有在运行时才会发生。
(3)对于这些错误,一般有两种解决方法:
遇到错误就终止程序运行;
由程序员在编写程序时,就考虑到可能出现的错误,并进行错误的检测、错误的提示以及错误的处理;
那么什么是编译,什么是运行呢?
编译:又分为编译和链接两个过程。编译是将源文件转换为机器可识别的二进制文件。链接是将这些二进制文件组合成系统可以执行的可执行文件。
运行:将编译出来的可执行程序放在系统中进行运行。
...
2019-12-18 14:07
以硬着头皮把大话中的最小生成树用自己的话整理了一下,希望大家能够看懂。...
2019-12-17 12:59
00 前因
几周前的一个周五,帮朋友忙,需要给个软件做压力测试,花了一晚的时间学习了下,然后就赶鸭子上架去做这个事了。
想着有时间把学习过程整理下,结果忘掉了。
今天欢哥问到我上次压测用了什么软件,才想起这个事,暂且整理下吧。
01 选型
一番调研后,先筛选了4个软件:Loadrunner、Jmeter、Apache Bench、SysBench。
首先是做技术选型,目前主流的压力测试软件就是Loadrunner、Jmeter。
其他常用于性能测试的软件还有Apache Bench、SysBench。
...