- 博客(39)
- 收藏
- 关注

原创 java架构
Java主要分为四个架构传统式架构常见有SSH(struts,spring,hibernate)、SSM(Spring、Spring MVC、mybatis)分布式架构将传统的项目以项目模块进行拆分成n个子项目,比如拆分成会员项目,订单项目,支付项目,优惠卷等。SOA架构基于SOAP和ESB(消息总线),底层使用HTTP或者HTTPS协议+重量级XML数据交换格式进行通讯。面向与服务架...
2019-10-29 20:21:19
237
原创 前、中、后序代码遍历
前序核心代码 while(root != null || !stack.isEmpty()){ while(root != null){ res.add(root.val); stack.push(root); root = root.left; } TreeNode cur = stack.pop(); root = cur.right; }中序核心代码while (root != n
2022-05-26 20:53:41
128
原创 堆栈的主要区别
1.栈内存存储的是局部变量而堆内存存储的是实体;2.栈内存的更新速度要快于堆内存,因为局部变量的生命周期很短;3.栈内存存放的变量生命周期一旦结束就会被释放,而堆内存存放的实体会被垃圾回收机制不定时的回收。...
2022-05-21 10:42:32
620
原创 JAVA二十三种设计模式和七大原则
忽然看到一篇博主写的非常好,留个链接方便以后复习。http://c.biancheng.net/view/1333.html
2021-09-15 20:47:26
122
原创 SpringBoot 之简单工厂模式
SpringBoot 之简单工厂模式简单工厂: 工厂类根据传入的参数类型,动态决定创建哪一个产品了(实现类都继承同一个父类或接口)。在Spring中,我们只要将要用到的支付方式注入到容器中,我们便可以根据bean到名字去容器中获取。首先创建一个父类或者接口。public interface Animal { void say();}创建多个产品类去实现同一个父类或接口@Servicepublic class Dog implements Animal { @Override
2021-07-21 20:50:24
1552
原创 了解C、C++、C#
C、C++、C#的区别CC是三者中最古老的,C语言比较靠近底层(汇编语言),提供了基本访问内存的方式,运行要求比较小。C++C++作为C的拓展开发,是一种中级语言,面向对象编程(OOP),将代码编译成机器码。C#C#也是C的拓展,是一种高级语言,面向组件的编程语言。C#将代码编译成字节码(CLR:.NET框架的虚拟机组件)。在C的基础上添加了垃圾回收、未初始化变量检查、边界检查、类型检查等特性。C#更类似于JAVA语言,两者较为相似。C#被设计用于微软.NET框架共同工作,主要用于客户端和WE
2021-07-17 20:32:20
474
原创 线上Linux项目CPU突然100%排查
top查找使用率高的进程。获取到进程PID。然后通过top -Hp 进程PID,获取到该进程下的线程。获取到线程PID。通过printf ‘%x’ 线程PID,打印出十六进制的线程PID。使用jstack 进程PID > x.txt,将日志输出到x.txt文件中。vim x.txt,打开文件然后通过 /十六进制的线程PID 去找到出现问题的代码。...
2021-07-15 10:43:36
154
原创 计算机原理
计算机原理CPUCPU:每秒能处理的指令数。CPU是寄存器集合体:累加、标志、程序、基址、变址、通用、指令、栈寄存器。程序计数器:用于存储下一条指令所在的单元。(控制着程序的流程)标志寄存器:第一字节位正数为1,第二字节0为1,第三字节负为1。实际地址 = 基址地址 + 变址寄存器的值CPU由:控制单元和算数逻辑单元组成。控制单元:从内存中提取指令并解码执行。算数逻辑单元(ALU):处理算数和逻辑运算。功能上划分:CPU从功能上内部划分为:寄存器、控制器、运算器和时钟。寄存器:用来暂存
2021-07-08 20:52:15
313
原创 压缩两个集合使用IntStream
List<String> names = new ArrayList<>(Arrays.asList("张三", "李四", "王五"));List<Integer> ages = new ArrayList<>(Arrays.asList(24, 25, 27));//方式一:java8的IntSreamStream<String> stream = IntStream .range(0, Math.min(names.size
2021-04-02 15:51:18
92
原创 Mysql介绍
MYSQL索引相关什么是索引?索引是一种数据结构,可以帮助我们快速的进行数据的查找。索引是个怎样的数据结构呢?索引的数据结构和具体存储引擎的实现有关,在Mysql中使用较多的索引有Hash索引,B+树索引等,而我们常用的InnoDB存储引擎的默认索引实现为:B+树索引。Hash索引和B+树索引有什么区别或者有什么优劣势呢?hash索引底层是hash表,进行查找时,调用一次hash函数就可以获取到相应的键值,之后进行回表查询获得实际数据,B+树底层实现多路平衡查找树,对于每一次的查询都是从根节点
2021-03-17 21:02:53
89
原创 Hibernate Search的使用
Hibernate Search构建查询流程从FullTextEntityManager获取QueryBuilderFullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager); QueryBuilder queryBuilder = fullTextEntityManager.getSearchFactory() .buildQueryBuilder() .
2021-03-17 20:56:46
428
原创 JD8 Optional的使用
String rname = Optional.ofNullable(one) .map((e) -> e.getTwo()) .map((si) -> si.getThree()) .map((end) -> end.getrId()) .orElse(null);
2021-03-16 13:36:50
133
原创 JAVA基础
java基础知识封装隐藏内部功能具体实现。继承从它的父类继承所以属性和方法。多态同一动作作用于不同的对象,所产生的不同行为。StringBuffer 线程安全 效率低StringBuilder 线程不安全 效率高@Overwrite参数列表与被重写方法的参数列表必须完全相同。返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同)。访问权限不能比父类中被重写的方法的访问权限更低。例如如果父类
2021-02-18 11:04:43
154
原创 开发门户网站相关知识
门户网站网络方面网络交换机 一个扩大网络的器材,能为子网络中提供更多的连接端口,以便连接更多计算机。无线路由 包含LAN口和WAN口,可直接上网的网线插LAN口。WAN口连接的是外网。LAN口连接的是局域网的接口。网关一个网络向另一个网络发送信息,必须经过网关。DNS查询方式Clent > hosts文件 > DNS Service Local Cache > DNS Server crecursion > itevation(迭代) > 根 > 顶级
2021-02-18 10:21:25
170
1
转载 Centos8安装Docker
ref:https://blog.youkuaiyun.com/peizhelun/article/details/104435856/
2020-11-20 10:25:48
77
原创 Linux安装nginx
安装nginx操作如下:到nginx官网下载tar,gz文件,并解压。进入到nginx文件夹输入./configure然后make && make install然后执行yum-y install make zlib zlib-devel gcc-C++ libtool openssl openssl-develw安装需要的依赖安装成功启动nginx服务进入到/...
2020-03-30 17:48:26
90
原创 微信授权时遇到48001的问题
今天分享一下我在授权时48001的解决方法{“errcode”:48001,“errmsg”:“api unauthorized, hints: [ req_id:1QoCla0699ns81 ]”}这是由于前端获取code时遇到的问题 https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_u...
2020-03-25 14:33:07
9929
原创 淘宝购物车定时秒杀
需要的软件chromepython3.8chromedriver.exe安装selenium把chromedriver.exe放到chome启动程序的目录下from selenium import webdriverimport datetimeimport timefrom os import pathd = path.dirname(__file__)abspath...
2020-03-17 10:06:16
1744
原创 Linux java环境部署
Linux服务器软件安装Tomcat安装由于yum上没有tomcat源,所以需要用wget的方式下载,首先进入你tomcat需要安装的目录。然后运行命令 wget https://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz如果下载失败,就从tomcat官网里获取。下载完成之...
2020-01-15 08:47:24
162
原创 Dubbo与Zookeeper的使用介绍
系统架构垂直项目架构缺点耦合度太高:所有的功能的模板代码都放在一起。不利于拓展:某个模块出错会导致项目直接崩溃,所有的功能都需要重新打包编译,部署效率极低,上线时需要停项目。不利于团队协作维护优点结构简单。SOA架构面向服务的架构(分布式架构)特点它是一种支持面向服务的架构。(分布式架构)将传统项目中的一个模块,拆分成一个一个项目。模块的拆分如果某个系统访问量比较大时,...
2019-12-13 09:14:06
335
原创 JVM与类
1、什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java,lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。类加载器并不需要等到某个类被“首次主动使用”时...
2019-11-15 10:41:09
199
原创 微信授权
关于网页授权回调域名的说明1、在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头;2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名...
2019-11-01 09:54:56
1074
原创 缓存的种类
浏览器缓存这是离用户最近的可以作为缓存的地方,而且借助的是用户的“资源”(缓存的数据在用户的终端设备上),性价比可谓最好,让用户帮你分担压力!当你打开浏览器的开发者工具,看到from cache或者from memory cache、from disk cache的时候,就意味着这些数据已经被缓存在了用户的终端设备上了(没网的时候也能访问到一部分内容就是这个原因)。这个过程是浏览器替我们完成...
2019-10-31 09:50:23
127
原创 Linux集群
主要分成三大类( 高可用集群, 负载均衡集群,科学计算集群)科学群集 、高性能集群(High performance cluster,HPC)它是利用一个集群中的多台机器共同完成同一件任务,使得完成任务的速度和可靠性都远远高于单机运行的效果。弥补了单机性能上的不足。该集群在天气预报、环境监控等数据量大,计算复杂的环境中应用比较多。负载均衡集群(Load balance cluster, LB...
2019-10-29 20:19:05
223
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人