我的百宝箱
文章平均质量分 58
内含学习成长路上拾得的敲厉害的工具和内功密集,加速成长
_大木_
所有的付出没有亏欠, 只为不负遇见.~
展开
-
架构师成长记_第十周_01_零起步centos7中配置doker (未完)
文章目录零起步centos7 配置doker1. 启动虚拟机并执行以下命令安装docker2. 常用docker命令测试零起步centos7 配置doker1. 启动虚拟机并执行以下命令安装dockercurl -fsSL get.docker.com -o get-docker.sh 安装docker脚本sh get-docker.sh --mirror Aliyun启动脚本, 并选择阿里云镜像安装dockerdaemon-reload 保存配置, 建议每次重启docker的时候都执行一次该原创 2021-07-24 21:15:23 · 274 阅读 · 3 评论 -
DDD设计概念汇总
文章目录DDD设计概念汇总1. 聚合根2. 如何判断标记领域3. 如何创建好的聚合?4. 实体5. 值对象PS : 谨慎使用值对象6. 界限上下文7. 限界上下文之间的映射关系8. 领域服务9. 领域事件10. 术语11. DDD的战略建模与战术建模战略建模-Strategic Modeling:战术建模-Tactical Modeling:DDD设计概念汇总1. 聚合根对领域概念做静态建模的时候都一类概念被视为聚合根(root), 他有自己的生灭过程, 数据和行为聚合于其上面, 聚合根中有一个唯一的原创 2021-06-28 13:35:22 · 692 阅读 · 1 评论 -
Mac 访达和系统快捷键
Com + 左/右箭头 快速跳到开头或者末尾Fn-Del 删除光标后面的字符Command-Z 撤销Command-X 剪切Command-C 拷贝(Copy)Command-V 粘贴Command-A 全选(All)Command-S 保存(Save)Command-F 查找(Find)Command-Shift-A 截图Command-D:复制所选文件。Command-E:推出所选磁盘或宗卷。Command-F:在“访达”窗口中开始“聚焦”搜索。Command-I:显示所选文.原创 2021-06-28 13:07:36 · 2552 阅读 · 1 评论 -
架构师成长记_第八周_02_ Centos安装分布式搜索引擎 ElasticSearch
文章目录ElasticSearch 安装1. 上传elasticsearch包到我们的centos(我这里是140节点)2. 解压并且移动elasticsearch文件夹3. 进入elasticsearch进行配置4. 由于root用户不能使用ES, 所以需要创建一个新的用户来使用ES5. 运行启动ES6. 测试, 浏览器访问7. 由于es是前台启动, 我们可以让它后台启动PS: 启动时出现以下问题, 需要执行切换回root用户该命令ElasticSearch 安装1. 上传elasticsearch包原创 2021-04-29 20:34:20 · 174 阅读 · 1 评论 -
架构师成长记_第八周_01_分布式搜索引擎 ElasticSearch 快速入门
文章目录分布式搜索引擎 ElasticSearch 快速入门1. 搜索引擎的对比(Lucene vs Solr vs Elasticsearch)1.1 Lucene1.2 Solr1.3 Elasticsearch([官网描述](https://www.elastic.co/cn/what-is/elasticsearch))2. ES 核心术语2.1 索引库 index (相当于 数据库中的表)2.2 类型 type (相当于 数据库的 表逻辑类型)PS: 最新的 ES 已经取消了 type,原创 2021-04-29 18:40:24 · 308 阅读 · 3 评论 -
Java 开发小工具: JDBC 连接及分页
package cn.archiect.taskOne.job02.beyond.test01;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;/** * @Author: beyond_nothing * @Date: 2021/4/27 9:36 */public class SqlTest {原创 2021-04-27 10:30:42 · 166 阅读 · 5 评论 -
架构师成长记_第六周_10_Vmware多虚拟机克隆
VMware多虚拟机克隆克隆步骤PS: VMware版本, 该版本不需要进行网络配置, 自动可以配置好(香)原创 2021-04-18 18:42:08 · 157 阅读 · 1 评论 -
架构师成长记_第六周_06_Redis 发布与订阅 (与MQ类似)
PS:redis 发布与订阅机制与消息队列的机制是一样的发布与订阅应用于微信公众号, b站短视频等.虽然Redis可以实现消息队列的机制, 但是专门做专事, 通常Redis当作缓存就可以了, 不要让他去担当MQ的角色, 因为它没有消息队列那么专业, 如果这样做了可能会带来不必要的额外开销.企业开发极少数会用redis实现消息队列机制, 一般都不用.Redis 发布与订阅 (先订阅才能接收消息)订阅 subscribesubscribe XXX ... 进行订阅如下XXX … 列表内的信息原创 2021-04-18 10:09:12 · 1002 阅读 · 7 评论 -
架构师成长记_第六周_02_Redis 操作工具类 (可以进行日后扩展)
文章目录使用工具类的原因RedisOperator.java项目中使用该工具类使用工具类的原因为了更加匹配我们Redis的操作API, 我们一般会使用类似如下的工具类进行项目的开发原生的开发不容易, 且易发生乱码, 如上节内容我们的使用中, 即可看到如下的乱码, 使用工具类进行封装后可以避免该情况的发生.RedisOperator.javapackage com.beyond.utils;import org.springframework.beans.factory.annotation.原创 2021-04-17 16:36:02 · 200 阅读 · 0 评论 -
架构师成长记_第五周_04_Redis 五大数据类型的使用
文章目录Redis 五大数据类型PS1 : [Redis 命令API](http://redisdoc.com/index.html)PS2: redis 数据默认有 16 个库, 默认是 DB 0切换到库DB 1 `select 1`每个库都是单独的个体, 数据之间不进行共享数据清空数据库`flushdb` 清除当前库`flushall` 清除所有库1. String2. hash3. list (一个列表下可以存放相同的值)4. set (一个列表下不可以存放相同的值, 会自动去除)5. zset (原创 2021-04-16 19:56:07 · 205 阅读 · 1 评论 -
SQL练习: 多表查询
/*1. 查出至少有一个员工的部门, 显示部门编号, 部门名称, 部门位置, 部门人数.列: d.deptno , d.dname , d.loc, 部门人数表: dept d, emp e 条件: e.deptno = d.deptno*/SELECT d.*, z1.cntFROM dept d, (SELECT deptno, COUNT(*) cnt FROM emp GROUP BY deptno) z1WHERE d.deptno = z1.deptno /*2. 列出原创 2021-04-13 20:20:20 · 205 阅读 · 1 评论 -
Tomcat 启动异常: java.lang.ClassFormatError: Truncated class file错误解决
该问题可能是tomcat的缓存导致!解决办法:rm -rf Catalina把tomcat的work目录下的Catalina直接删掉,重新启动tomcat即可。原创 2021-04-04 16:56:30 · 1390 阅读 · 8 评论 -
CentOS 7 安装 JDK 和 Tomcat9
CentOS 7 安装 JDK1. 通过工具将JDK上传2. 检测系统是否带有自带的jdk, 如果有要进行卸载rpm -qa|grep openjdk -i 为检测命令, 检测到卸载即可rpm -e --nodeps 需要删除的软件 为删除命令3. 开始安装JDK创建jdk的安装目录 mkdir /usr/java/解压jdk tar -zxvf 你jdk的tar包例如: tar -zxvf jdk-8u191-linux-x64.tar.gz将解压后的jdk移动到原创 2021-04-04 15:42:34 · 245 阅读 · 3 评论 -
玩转集群服务器 之 Centos 7 虚拟机快速安装及安装后无法查看到ip地址的解决
文章目录VMware 安装Centos 71. 下载centos 7 镜像2. 进行安装3. 查看ip地址 (ip addr)解决无法查看ip地址问题执行以下命令执行命令 `cd /etc/sysconfig/network-scripts/ `执行命令 `ll`执行命令 `vi ifcfg-ens33 `执行命令 `service network restart` 重启网卡服务使用远程工具测试连接连接成功为了方便后续内外网互通, 这里就可以直接关闭centos的防火墙1 `systemctl status原创 2021-04-03 20:11:33 · 1585 阅读 · 3 评论 -
Java之理解红黑树
文章目录红黑树(一棵特殊的自平衡的二叉查找树)红黑树的性质红黑树的玩法玩法介绍1. 红黑变色2. 左旋(向左转)3. 右旋(向右转)红黑树(一棵特殊的自平衡的二叉查找树)优化的二叉查找树, 用于高效的查找数据.红黑树的性质每个节点不是红色就是黑色根节点为黑色叶子节点为黑色不能出现连续的两个红色节点每个红色节点的两个子节点都是黑色插入节点默认是红色红黑树的玩法玩法介绍一个节点的父节点成为它的父亲一个节点的父节点的兄弟节点称为它的叔叔一个节点的父节点的父节点称为它的爷爷1.原创 2021-03-12 19:31:27 · 201 阅读 · 3 评论 -
栈和队列 方法复盘
栈耍一耍package com.beyond;import java.util.Stack;public class StackTest { public static void main(String[] args) { Stack<String> stack = new Stack<>(); Stack<String> stack1 = new Stack<>(); stack.push原创 2021-03-12 09:22:52 · 113 阅读 · 1 评论 -
java.lang.Math 复盘
耍不动了…package com.beyond;import javax.sound.midi.Soundbank;public class MathTest { public static void main(String[] args) { System.out.println(Math.E); // 自然对数的底数 e。 System.out.println(Math.PI); // 圆周率 System.out.println(.原创 2021-03-11 22:28:16 · 107 阅读 · 0 评论 -
LinkedList 方法吐血大汇总
耍起来package com.beyond;import java.util.*;public class LinkedListTest { public static void main(String[] args) { List<Integer> list = new LinkedList<>(); List<Integer> list1 = new ArrayList<>(); list.原创 2021-03-10 21:17:59 · 440 阅读 · 5 评论 -
cookie 与 session 深度区别
文章目录概述:Cookie注意:设置一个cookie : 在登录controller里使用cookie工具类设置, 并且将cookie加密即可Session注意:案例: 设置 一个 session 会话 (前端的若是html页面则是使用不了的, jsp 能行)概述:Session 和 cookie 都是会话(Session)跟踪技术.会话(Session)跟踪是Web程序中常用的技术, 用来跟踪用户的整个会话, 常用的会话跟踪技术是 Cookie 与 Session. Cookie 通过在客户端记录信原创 2021-03-07 16:57:30 · 245 阅读 · 4 评论 -
ArrayList, HashMap 方法汇总
文章目录HashMap 玩法案例ArrayList 玩法案例HashMap 玩法案例package com.beyond;import java.util.*;class Person{ private String name; private Integer age; public Person(String name, Integer age){ this.name = name; this.age = age; }原创 2021-03-06 20:59:26 · 690 阅读 · 9 评论 -
Java 线程 之深入学习(敲详细)
一.线程介绍Java使用java. lang . Thread类代表线程.所有的线程对象都必须是Thread类或其子类的实例。每个线程的作用是完成一定的任务,实际上就是执行一段程序流,即一段顺序执行的代码。Java使用线程执行体来代表这段程序流。Java中通过继承Thread类来创建并启动多线程的步骤如下:1.定义Thread类的子类,并重写该类的run)方法,该run()方法的方法体就代表了线程需要完成的任务, 因此把run()方法称为线程执行体。2.创建Thread子类的实例,即创建原创 2020-05-11 01:25:59 · 461 阅读 · 1 评论 -
Java : 网络编程
文章目录Java 网络编程java网络编程基本概念基本网络程序模型(开发一个基本的 C/S 程序)编写一个服务器端程序编写客户端程序ECHO 程序范例: 编写服务器端范例: 客户端实现以上完成了一个基础的程序, 但是程序有一个问题, 本程序为单线程, 因为所有的操作都是在主方法中进行的.要想解决这个问题, 就必须进行多线程的处理, 把每一个连接的用户都封装在一个线程里面, 这样就不会限制在单线程里面了.改进的服务器端代码总结:Java 网络编程java网络编程基本概念网络: 将地理上分开的主机连接在一原创 2021-02-03 01:36:06 · 175 阅读 · 2 评论 -
Java : volatile 关键字
Volatile单例设计模式的本质在于构造方法被私有化, 而后通过类内部的 static 方法取得实例化对象, 而单例设计有两种模式: 懒汉式(使用时才进行实例化对象), 饿汉式(在类加载时候进行对象实例化).范例: 观察懒汉式单例设计模式的问题package com.beyond.dhl;class Singleton { private static Singleton instance; // 懒汉式所以不会进行实例化对象 private Singleton() {原创 2021-02-02 23:29:53 · 280 阅读 · 10 评论 -
Java 排序算法: 基数排序
基数排序基本思想:基数排序(radixSort)属于"分配式排序", 又称为"桶子法" 或 bin sort, 顾名思义, 它是通过键值的各个位的值, 将要排序的元素分配到某些’桶’中, 达到排序的目的.特点如下:(1)通过键值得各个位的值,将要排序的元素分配至一些桶中,达到排序的作用(2)基数排序法是属于稳定性的排序,基数排序法是效率高的稳定排序法(3)基数排序是桶排序的扩展代码实现package com.com.beyond.dhl.utils.sort;import java.ut原创 2021-02-02 20:59:47 · 288 阅读 · 1 评论 -
Java 排序算法: 归并排序
归并排序归并排序的思想:归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略, 分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案合并在一起,即分而治之)实现:package com.com.beyond.dhl.utils.sort;import javax.sound.midi.MidiChannel;import java.util.Arrays;p原创 2021-02-02 16:59:22 · 206 阅读 · 7 评论 -
Java 排序算法: 插入排序 (简单插入排序 和 希尔排序)
五大排序内部算法:选择排序简单选择排序堆排序插入排序简单插入排序希尔排序交换排序冒泡排序快速排序归并排序基数排序简单插入排序插入排序(Insertion Sorting) 的基本思想:把n个待排序的元素看成为一个有序表和一个无序表, 开始时有序表中只包含一个元素, 无序表中包含有 n-1 个元素, 排序过程中每次从无序表中取得第一个元素, 把它的排序码依次与有序元素表元素的排序码进行比较, 将它插入到有序表中的适当位置, 使之成为新的有序表....原创 2021-02-02 16:16:08 · 226 阅读 · 1 评论 -
Java : Stream 数据流 (Collection 接口扩充, Stream基本操作, MapReduce 模型)
文章目录Collection 接口改进范例: 使用foreach 输出范例: 观察 StreamStream 数据流的基本操作范例: 数据过滤 filter()Stream 接口里有两个重要的操作方法:MapReduce 基础模型范例: 编写一个简单的数据统计操作范例: 实现订单信息的保存, 随后进行一个总量的统计从 JDK 1.8 发起的时候实际上就是世界上大数据兴起的时候, 在大数据开发里面有一个最经典的模型: MapReduce, 实际上这属于数据的两个操作阶段:Map : 处理数据Redu原创 2021-01-30 00:13:10 · 610 阅读 · 5 评论 -
Java : Collections 工具类
Collection 是集合的接口, 而Collections 是一个集合的操作工具类.在这个类中里面提供有集合的基础操作: 如 反转, 排序等.范例: 创建空集合(可以作为标记)package com.beyond.nothing;import java.util.Collections;import java.util.List;public class test { public static void main(String[] args) throws Exception原创 2021-01-28 19:35:51 · 174 阅读 · 2 评论 -
Java : Properties 属性操作
Properties 属性操作在涉及国际化操作的时候, 我们涉及过一种属性文件(资源文件: *.properties), 在这种文件里面, 其内容的保存格式为: "key=value"的形式, 实际上是通过 ResourceBundle 类读取的时候只能够读取内容, 而如果想要编辑内容, 那么就要通过 Properties 类来完成了, 也就是说这个类专门做属性处理的.Properties 是 Hashtable 的子类, 并且这个类定义:public class Properties exten原创 2021-01-28 18:49:09 · 284 阅读 · 6 评论 -
Java 类集框架: Stack 栈 与 Queue 队列
文章目录栈 Stack简介栈的核心方法:范例: 观察出入栈队列 Queue简介:Queue 接口主要是进行先进先出的时候, 在这个接口里面有如下的方法:范例: 使用 Queue范例: 利用队列实现生产者与消费者栈 Stack简介栈是一种先进后出的数据结构. 比如是浏览器上的后退, 以及各个编辑器上的撤销操作都属于栈的功能, 而在整个的类集里面, 提供有Stack, 这个类是 Vector 的子类. 但是需要注意的是使用这个子类的时候, 可不是使用 Vector 类的方法, 同样, 使用这个类的时候,原创 2021-01-28 17:20:12 · 232 阅读 · 3 评论 -
Java 类集框架: TreeMap 子类
TreeMap 表示可以排序的Map子类, 它是按照key的内容进行排序的范例: 观察 TreeMap的使用package com.beyond.nothing;import java.util.Map;import java.util.TreeMap;public class test { public static void main(String[] args) { Map<Integer, String> map = new TreeMap<原创 2021-01-28 15:19:52 · 263 阅读 · 6 评论 -
Java 类集框架 : Map 中的 key实现说明
关于 Map 中 key 的说明在使用 Map 集合的时候之前使用的都是系统类作为了 KEY(Integer), 那么实际上用户也可以采用自己的类作为 Key.那么这个时候一定要记得覆写 Object 中的 hashCode() 与 equals() 方法package com.beyond.nothing;import java.util.HashMap;import java.util.Map;import java.util.Objects;class Person { p原创 2021-01-28 14:55:17 · 698 阅读 · 9 评论 -
Java 使用Iterator输出Map 集合
在实际开发之中, 如果你存储数据是为了输出, 那么优先考虑的一定是 Collection, 使用 Map 的主要操作就是设置我们的内容, 然后使用 get()进行查找的.使用Map迭代输出的需求会有, 但是不多. 要明确的是:Map 接口没有iterator()方法在Map 接口里有一个重要的方法, 将 Map 集合转换成 Set 集合:public Set<Map.Entry<K,V>> entrySet()范例: 通过 Iterator输出Map 集合 (要重点掌握原创 2021-01-25 23:27:36 · 514 阅读 · 9 评论 -
Java 集合框架: ConcurrentHashMap
文章目录ConcurrentHashMap首先来观察 ConcurrentHashMap 的子类定义:范例: 使用 ConcurrentHashMapConcurrentHashMapConcurrentHashMap 的特点 = Hashtable 的线程安全性 + HashMap 的高性能在使用 ConcurrentHashMap 处理的时候既可以保证多个线程更新数据的同步, 又可以保证很高效的查询速度.首先来观察 ConcurrentHashMap 的子类定义:public class Co原创 2021-01-25 23:10:12 · 175 阅读 · 1 评论 -
Java 排序算法: 选择排序 (简单选择排序+堆排序)
文章目录五大类内部排序算法简单选择排序: SelectSort算法思路实现简单选择排序 测试80000个随机数据的排序效率堆排序: HeapSort算法思路:实现:堆选择排序 测试八百万个随机数据的排序效率 (还是快排更胜一筹)五大类内部排序算法插入排序交换排序选择排序简单选择排序堆排序归并排序基数排序简单选择排序: SelectSort算法思路选择排序一共有[数组大小-1]轮排序每一轮排序, 又是一个循环, 循环的规约如下先设定当前的这个数是最小值与后面的数据原创 2021-01-25 19:53:25 · 294 阅读 · 1 评论 -
Java : 类集框架 (Map 接口概述) (HashMap + Hashtable)
文章目录Map 接口Map 接口里面的常用方法HashMap 子类 (90%) (无序)范例: Map 基本处理面试题: 请解释 HashMap 原理Hashtable 子类 (1%)范例: 观察 Hashtable (无序)HashMap 与 Hashtable 区别面试题: 请解释 HashMap 与 Hashtable 的区别Map 接口public interface Map<K, V>Collection 集合的特点是每次进行单个对象的保存, 那么如果现在要进行一对对象的保存(偶原创 2021-01-24 21:53:01 · 239 阅读 · 3 评论 -
Java 集合的输出 (Iterator, ListIterator, Enumeration, foreach)
文章目录1. 迭代输出 : Iterator (95%)案例: 标准的 Iterator 使用案例: 删除元素`以后见到了结合输出的问题, 不需要思考直接使用 Iterator 接口`2. ListIterator 双向迭代接口 (0.01%)观察 ListIterator 接口的使用3. Enumeration 枚举输出 (4.8 %)==但是要如果取得这个接口的实例化对象, 是不可能依靠 Collection, List, Set 等接口的, 只能够依靠 Vector 子类, 因为 Enumeratio原创 2021-01-23 22:28:08 · 470 阅读 · 6 评论 -
IntelliJ Idea 常用快捷键列表
Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可以快速打开类Ctrl+Shift+N,可以快速打开文件Alt+Q,可以看到当前方法的声明Ctrl+P,可以显示参数信息C转载 2021-01-23 18:28:10 · 107 阅读 · 0 评论 -
Java 递归: 八皇后问题(回溯算法)
八皇后问题, 是一个古老而著名的问题, 是回溯算法的典型案例. 该问题是国际棋棋手马克斯·贝瑟尔于1848年提出: 在 8 ×8格的国际象棋上摆放八个皇后, 使其不能互相攻击即 : 任意两个皇后都不能处于同一行, 同一列 或 同一斜线上, 问有多少种摆法 (92)?思路分析第一个皇后先放到第一行第一列第二个皇后放在第二行第一列, 然后判断是否OK[即判断是否冲突], 如果不OK, 继续放在该行第二列, 第三列, 依次把所有列都放完, 找到一个合适的位置, 执行第三步继续第三个皇后, 还是第一列,原创 2021-01-23 01:32:31 · 288 阅读 · 1 评论 -
架构师成长记 : 在腾讯云centos7.x上部署项目环境及 MariaDB 搭建 (这个是 7.6-64)
文章目录1. 使用如下工具进行连接和文件传输2. 安装JDK1. 卸载默认jdk2. 新建 jdk 安装目录3. 使用ftp工具(FileZilla)上传jdk到某目录, 如下3. 安装Tomcat - 部署第一台Tomcat(用于前端项目)4. 安装Tomcat - 部署第二台Tomcat(用于后端项目)5. 配置安全组 (安全组就类似于防火墙的概念)6. 安装 MariaDB 数据库 (这里使用离线安装)依次执行如下命令:安装环境依赖要注意版本号查找是否有旧版本依赖 (卸载冲突的包)删除该版本的包安装b原创 2021-01-22 18:04:11 · 455 阅读 · 6 评论