1 你好戴先生

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 44w+

【设计模式系列(三)】彻底搞懂原型模式

文章中涉及到的代码,可到这里来拿:https://gitee.com/daijiyong/DesignPattern原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能调用者不需要知道任何创建细节,不调用构造函数属于创建型模式说白了就是克隆,其核心就是拷贝模型,减少拷贝对象的复杂度,提高性能和可维护性举个栗子,有这么一个类public class ExamPaper { private String examinationPaperId;//试卷主键.

2020-07-29 17:46:16

【设计模式系列(二)】彻底搞懂单例模式

文章中涉及到的代码,可到这里来拿:https://gitee.com/daijiyong/DesignPattern概念:单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点关键点是:单例类中有一个静态的变量,私有化构造方法,提供唯一全局调用方法,并选择一个时机进行初始化属于创建型模式它主要是为了解决:一个全局使用的类频繁地创建与销毁所造成的资源开销单例模式比较简单,最复杂的地方在于如何保证多线程、序列化等情况下仍然保证单例实例的唯.

2020-07-29 10:59:43

【设计模式系列(一)】彻底搞懂工厂模式

文章中涉及到的代码,可到这里来拿:https://gitee.com/daijiyong/DesignPattern1.简单工厂模式属于创建型模式是指由一个工厂对象决定创建出哪一种产品类的实例优点:只需要传入一个正确的参数,就可以获取你所需要的对象类比一个生活场景你到超市,只要你能准确说出你要买的东西是什么售货员就能帮你找到并卖给你你不需要关心他是怎么找到的、从哪进的货、怎么制造的简单工厂模式适用于工厂类负责创建的对象较少,且基本不会变化如果工厂类需要创建的产品频繁更新势必要经常更改

2020-07-27 11:29:15

通过简单代码示例了解七大软件设计原则

代码设计原则是我们平时编码时候的代码规范建议良好的代码设计可以很大程度降低维护和功能扩展的成本代价但是代码设计原则应该是我们尽量遵循和考虑的规范并不是一定要求所有代码都遵循设计原则我们要考虑人力、时间、成本、质量,不是刻意追求完美要在适当的场景遵循设计原则帮助我们设计出更加优雅的代码结构有些原则之间是相辅相成的有些可能会有一些冲突的地方就像我们代码的注释或者开发文档某种程度上是会影响开发的进度和效率的但是对于代码维护和日后的更新这简直是上帝的恩赐本文档设计源码地址:https:/

2020-07-05 11:53:13

记一次web系统漏洞整改过程(nginx+Tomcat)

1. 漏洞问题系统部署采用的是tomcat容器,使用nginx做的转发和处理这次漏洞整改主要包括两个问题,其他都是升级jar包版本或进行一些系统设置就能完成限制IP访问,配置只有特定的域名才能访问设置Https 协议请求2. 解决办法2.1 Nginx+Tomcat配置的方式目的就是禁止ip方式访问应用系统只能使用特定的域名访问特定的端口应用找到tomcat的conf/server.xml中的标签默认是在148行内容如下 <Host name="local

2020-06-30 17:48:02

各位相加,直到得到一个一位的整数

小样儿,是不是以为题目哩我写错别字了?1. 题目给出一个非负整数 num,反复的将所有位上的数字相加,直到得到一个一位的整数1.1 举个栗子输入:num=38输出:2解释:过程如下:3 + 8 = 11, 1 + 1 = 2. 因为 2 只有一个数字,返回 2输入:num=9输出:9解释:9<10,返回 9.1.2 挑战你可以不用任何的循环或者递归算法,在 O(1) 的时间内解决这个问题么?2. 解法1思路就是题目的要求两层循环外层循环判断num的结果是不

2020-06-28 11:03:08

图解:基于B+树索引结构,MySQL可以这么优化

首先通过索引可以很大程度的提高检索效率,这个就不解释了关于B+树的相关知识和应用可以点击传送门图解:深入理解MySQL索引底层数据结构与算法图解:什么是B-树、B+树、B*树1. 索引失效的情况字符串索引字段必须加单引号,不然索引失效在索引字段上使用任何操作(计算、函数、类型转换等),都导致走全表扫描where查询条件中使用不等于、大于、小于等操作,会导致索引失效少用or,用它来连接时,可能会导致索引失效is null 和is not null也会无法使用索引li

2020-06-27 14:06:26

图解:深入理解MySQL索引底层数据结构与算法

MySQL数据库是我们最常用的关系型数据库之一也是初学者最喜欢选择数据库易知,MySQL底层索引是用B+树实现的传送门:图解:什么是B-树、B+树、B*树下面就具体说说MySQL索引底层数据结构与算法实现1.索引是什么索引(Index)是帮助MySQL高效获取数据的数据结构,相当于数据的目录2. MySQL的两种搜索引擎分别是MyISAM搜索引擎和InnoDB搜索引擎我们经常用到的是InnoDB搜索引擎2.1 MyISAM搜索引擎MyISAM引擎使用B+Tree作为索引结构叶节点的

2020-06-26 16:24:33

图解:什么是B-树、B+树、B*树

文章目录1.二叉搜索树在说B树之前,我们需要先了解一下二叉搜索树二叉搜索树,顾名思义,是用来搜索的有序树它具有以下特点:1.所有非叶子结点至多拥有两个儿子(Left和Right);2.所有结点存储一个关键字;3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树。下边这个就是一棵二叉搜索树1.1 二叉搜索树的查找二叉搜索树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中否则,如果查询关键字比结点关键字小,就进入左儿子如果比结点关键字大,就进

2020-06-26 08:48:09

一篇文章彻底搞懂Java虚拟机垃圾回收(GC)机制

1.jvm体系结构概览栈内存(Stack):每个线程私有的堆内存(Heap):所有线程公用的方法区(Method Area):有点像以前常说的“进程代码段”,这里面存放了每个加载类的反射信息、类函数的代码、编译时常量等信息本地方法栈(Native Method Stack):主要用于JNI中的原生代码,平时很少涉及2.垃圾回收对象垃圾回收一种动态存储管理技术,它自动地释放不再被程序引用的对象,按照特定的垃圾收集算法来实现资源自动回收的功能作用区域包括方法区和堆内存区JVM的垃圾回收主要指

2020-06-24 09:11:07

【MySql】记一次千万级数据处理的优化过程

需求从mongodb数据库的A表(或者叫集合)读取数据经过处理后导入MySQL的B表中其中A表有近2000万条的数据需要对每条数据进行分析处理,分析处理过程就不细说了每条A表数据分析处理后可提取生成数条B表数据B表数据的字段中有school、speciality和post三个字段,和一个字段number导入B表中的数据需要通过这三个字段联合去重,并统计重复的条数number最终将生成的B表数据以及频率字段number存储到MySQL数据库中需求不复杂解决过程思路逐步读取那2000

2020-06-20 15:45:06

曹操哪里跑!--Java语言实现数字华容道游戏

最近这段时间《最强大脑》又开播了但是怎么却少了经典的数字华容道游戏心血来潮,想着手写一个解数字华容道游戏的程序但是想解题得先有个题,就先实现了一个数字华容道基本思路使用一维数组表示数字华容道的游戏内容 根据用户的输入值m,随机生成一个大小为m*m大小的一维数组 一维数组内容的大小为0到m-1,其中0代表空格 考虑到随机生成的数组内容可能存在无解的情况 我是先生成了一个有序的数组,0在最后一位 然后随机移动300次,并保证生成的一维数组不是有序的&n

2020-06-16 22:34:09

无重复字符的最长子串

1.题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。.

2020-06-16 22:29:02
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。