- 博客(110)
- 资源 (2)
- 收藏
- 关注
原创 [软考冲刺]——中级软件设计师Day3
理论算法:(2 + 2 + 1) + 99 * 2 = 203ns。实际公式:(k(几段) + n - 1 ) * ▲t(流水线周期)。
2023-03-28 22:35:58
322
原创 [软考冲刺]——中级软件设计师Day2
科学计数法比如: 1000 = 1.0 * 10^3上下如何相加?将1.19 * 10^2—> 0.119 * 10^3将上下的阶相等,再用1.0 + 0.119 = 1.119 ,最终*10^3进行结果格式化,确保尾数的第一个位置不能是零。比如: 11.19 * 10 ^3—>1.119 * 10^4必须是几点几的情况,小数点的数字不能超过一位。
2023-03-08 22:53:25
208
原创 [软考冲刺]——中级软件设计师Day1
Note:考试着重于广度,要和目前工作中用到的内容区分开来。会工作和会做题两码事,不能拿实践经验和考试知识相提并论。早上选择题,下午数据流图,数据库,UML,算法,二选一C++ or java 程序设计。
2023-03-06 23:15:51
255
原创 MySQL中like的用法
Like关键字配合Where关键字使用,即代表条件,是一种模糊查询,like适配多种模式,以下为介绍:A_Z: 所有以A开头,_代表任何一个值,Z代表以Z结尾ABC%: 所有ABC开头的字符串%XYZ: 所有XYZ结尾的字符串%AN%: 所有含有AN的字符串_是通配符例如:select name from user where name like "___"#指任意名为三个字符长度的名字的查询...
2021-04-18 14:12:06
1765
原创 MySQL常用SQL指令
SQL指令Select:配合from使用 查询一张表的一个或多个字段的内容例如:select * from tableselect name from tableSelect name,age from tableDistinct:配合select使用 ,意思把重复的内容进行只查询到一个的操作例如:Select distinct name from table重名的内容就会只出现一次Where:查询条件,配合select等一些内容例如:Select *from table wh
2021-04-07 22:55:14
202
原创 SpringCloud的Zuul路由网关入门
zuul是用户请求进来之后最先访问的服务, 目的是为了实现我们外部访问的统一接口, 同时起到过滤,代理的作用配置起来非常简单, 只需要导入依赖, 配置启动类, 启动类配置相应的EnablexxxProxy注解, 最后在我们的SpringBoot.yml中配置zuul注册到eureka的地址等信息即可:server: port: 9527spring: application: name: springcloud-zuuleureka: client: service-ur
2021-03-22 00:09:30
201
原创 SpringCloud利用Hystrix和Feign实现服务熔断和服务降级
首先,清楚两个概念即什么是服务熔断, 什么是服务降级服务熔断:图中,有大量的客户请求请求a服务,同时a服务需要调用b服务,b服务又同时调用了c和d服务, 这种情况叫做扇出, 那么现在, 假设c服务 相应时间过久或者根本不可用了, 大量的客户请求还继续去请求a服务, 导致大量的服务器资源都被这部分服务所抢占, 可能还会危其他服务的运行, 轻者可能是导致其他服务也出现问题, 重则可能导致整个系统面临崩盘,也就是服务雪崩, 几乎所有的服务都变得不可用了, 这是最惨的情况.那么, 为了防止这种情况的发生,
2021-03-21 22:04:28
473
原创 什么是Restful?
restful:representational state transfer(表象性状态转变)举例理解:以前的url可能这样写的:比如一个获取所有信息的请求:localhost:8080:/user/queryall/ 这个queryall是给谁看的, 这玩意是给开发成员看的吧按理说,但是这样设计我们的controller, 用户也看见了,没啥用.用了restful风格会怎样呢? 那么查询所有信息的url可能就变成这个样子了:localhost:8080:/user 而且更
2021-03-21 00:59:08
155
原创 SpringCloud之Eureka集群以及Ribbon负载均衡包含自定义负载均衡策略初体验
本篇紧接着上一篇, 在搭好了我们微服务整体体系的情况下, 将Eureka增加为集群的工作模式, 以及加入Ribbon的客户端负载均衡配置以及进行自定义负载均衡策略的操作.回顾上篇我们是如何搭建微服务架构的:SpringCloud之Eureka初接触为何需要配置Eureka集群,这里有我们需要掌握的一些知识点:首先要了解CAP原则,即: 强一致性 可用性 分区容错性我们之前聊过Zookeeper,这是一种专注AP(强一致性和分区容错性)服务治理与发现工具,而Eureka则是一种专注于CP(可用性和分
2021-03-20 23:20:59
1109
原创 SpringCloud之Eureka初接触
上一篇讲到如何利用zookeeper服务治理与发现和dubbo rpc通信框架进行小心分布式系统的搭建SpringBoot+Dubbo+Zookeeper快速搭建分布式简单的生产消费模型今天我们使用SpringCloud中的Eureka来进行简单的分布式服务搭建我们需要先建一个mysql的表用来练习数据库名为db01,表明dept以及其字段名和属性上图可见,插入部分数据ok我们有了基础的数据库然后,我们构建简单的三个微服务,一个实体类api,一个provider(服务提供者),一个cons
2021-03-20 01:13:09
204
1
原创 SpringBoot+Dubbo+Zookeeper快速搭建分布式简单的生产消费模型
首先要知道的是Dubbo是我们的通信框架,RPC框架,其核心主要就是通讯和序列化,zookeeper是我们的服务注册中心.ok开始搭建这个项目环境没有搭好的可以看我之前的blogdubbo安装教程zookeeper安装教程ok 启动我们的idea 创建两个springboot的web starter项目项目结构如图所示ok 先进行依赖导入操作两个项目的依赖都一样下面是我们要导的包: <!-- //导两个依赖 Dubbo 和 zookeeper-->
2021-03-18 01:09:49
270
原创 Windows安装Dubbo详细教程,附下载链接,打包操作
首先从github下载dubbo点击进入下载页面我们进入github中下载master点击master版本 然后下载即可下载完成后解压到你对应的文件夹中这时候是不能用的 因为点进去看是个springboot项目 所有的依赖都没有下载这时候我们在master文件夹下运行cmd执行操作等待打包完即可 最终去找到我们打好的jar包就行了...
2021-03-17 22:57:30
1224
原创 Windows下安装Zookeeper教程, 解决安装的所有问题, 附3.4.14bin.tar.gz下载地址
首先下载3.4.14版本zookeeper.gz文件链接如下zookeeper3.4.14下载完成之后 解压到需要的文件夹中进入bin目录 右键编辑kzService.cmd文件末尾处加入pause 用来查看运行时可能会爆什么错 如果没写可能会闪退 看不到到底什么错误接下来进入config文件夹中讲zoo_sample.cfg复制一份,并将其改名为zoo.cfg随后可以进行运行测试zkservice.cmd运行情况紧接着运行cli客户端当出现红框所标注的命令提示后
2021-03-17 22:21:30
671
原创 Mybatis-plus最强入门笔记
Mybatisplus 概述基础 ssm之后可以节省大量的工作时间 所有的crud代码都没了 自动化完成Jpa tk-mapper 都是差不多的偷懒的是什么?官网看看特性:无侵入 损耗小 强大的crud lambda 主键自动生成支持多种数据库 内置分页插件快速入门使用第三方组件 倒入对应的依赖 研究依赖如何配置 代码如何编写提高扩展技术能力先体验一下创一个库 表user真是开发version字段需要 乐观锁Deleted 逻辑删除Gmt_create gmt_mod
2021-03-17 00:06:28
419
原创 Redis入门最全笔记整理
为什么用Nosql大数据:一般的数据库不行了Memcached(缓存) + mysql + 垂直拆分(读写分离 分库分表)读写分离 一些服务器干读 一些写一般来说 读比写多所以使用缓存 主要解决读的问题缓存的发展过程:优化数据结构和索引–》文件(IO)—》memcached(当时最热门的技术)分库分表:+ 水平拆分 +集群集群 一组主从结构的数据库本质:数据库(读,写)缓存解决了读的问题 写呢?早起用的myisam引擎 表锁(查一个 锁一张表 十分影响效率 高并发就会有问题
2021-03-16 00:50:32
255
原创 关于Redis乐观锁watch的一些小问题
在学习Redis的时候学到了 乐观锁 watch有以下两种情况:经过对比 深刻理解了watch有关类似version的一些理解:结论:一旦watch了一个key那么只要被改动 version就会更改,然后通过事务的方式去再次更改,无效。...
2021-03-15 16:50:50
255
原创 SpringMVC执行流程(简答)
用户发送请求到前端控制器,前端控制器去请求处理器映射器为了找个合适的控制器(处理器),返回给前端控制器信息后,前端控制器找到适合处理的处理器,处理器通过Pojo层,Dao层,Service层,拿到了数据和需要的视图名字,然后返回给前端控制器,前端控制器又去找视图解析器让它进行一波解析,然后把视图和数据再给前端控制器,前端控制器再给视图层,让视图层进行个渲染,也就是把视图和数据进行一波组装,最后再返回给视图解析器,视图解析器直接给用户响应,ok理解一下,就是前端控制器是儿子,其他,什么映射器,处理器,视图解
2021-03-10 23:26:21
208
原创 Spring常见的注解配置详情
本文主要介绍Java EE框架Spring FrameWork的有关Bean的一些注解配置及其XML方式配置对照:常见的配置方式有三种:1. 基于xml配置 < bean >2. 基于注解配置3. 基于Java类配置Bean定义: 注解来说就是使用@Component @Service @Controller @Repository,java类就是使用@Configuration修饰类,里面的方法是@Bean...
2021-03-10 21:42:00
146
原创 找到多个名为spring_web的片段。这是不合法的相对排序。有关详细信息,请参阅Servlet规范的第8.2.2 2c节,解决办法:项目lib中有重复的Spring框架
spring webmvc中应该是包含有spring web包的内容当我们的项目结构中的lib有这个情况时 运行就会报错报错内容如下:此时我们应该删除spring web的jar包可以看到解决了这个问题
2021-03-07 17:26:37
17896
9
原创 Java设计模式二:简单工厂设计模式
package com.byl.设计模式;import java.util.Scanner;public class JianDanGongChang { public static void main(String[] args) { ComputerFactory computerFactory = new ComputerFactory(); computerFactory.createComputer(computerFactory.getName()
2021-02-09 21:21:00
132
原创 Java设计模式一:模板设计模式
模板设计模式一般开发都会用到OCP原则,即开闭原则,类,模块,方法应对拓展开放,对修改关闭。例子:冲咖啡和冲茶冲咖啡步骤:烧水;冲咖啡;倒入容器;加糖和牛奶;冲茶步骤:烧水冲茶倒入容器加柠檬汁步骤1和3是一样的,如果两种方式都用类的方式去写,会重复很多代码,是茶和咖啡主导了两个类的构成,如果有新饮料加入,会费很多工作,因此选用模板设计方法是一个重要的选择。模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下
2021-02-09 19:51:16
152
原创 利用内部类实现Java多继承
class A{ private int age = 1; int a = 2;}class B{ private int num = 2; int b = 4;}//使用内部类实现多继承class Outter{ class inA extends A{ public int getA(){ return a; } } class inB extends B{ publ
2021-02-06 20:32:27
153
2
原创 递归实现从1加到100
public static int hundred(int i){ //递归实现1+2+3+...+99+100 if(i == 100)return 100; else return i + hundred(i + 1); }反过来理解,最后几位必然是100+99+98+…我们让 i 为100时开始逐渐退出递归,也就是说如图所示这是一个栈模型图,最先进去的被压在最底下,当i = 100时,开始出栈,意味着hundred(99+1) = 100 因此有100
2021-02-05 17:13:50
9326
原创 用Java编写9乘9乘法口诀表
public class Test { public static void main(String[] args) { for(int x = 1; x < 10; x++){ for(int y = 1; y < 10; y++){ System.out.print(x+"*"+y+"="); System.out.print(x * y); Sys
2021-02-05 16:07:01
364
原创 什么是SQL注入?如何进行SQL注入攻击?如何避免SQL注入攻击?
比如说我的DaoImp是这样写的package com.xatu.dao.imp;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import c...
2019-12-11 19:59:24
335
原创 Oracle数据库学习《一》
Oracle甲骨文公司的产品MySQL Oracle收购的没有对用户具有太多的 太严格的权限 角色理念属于中小型数据库Oracle权限/角色要求 特别 严格很重要 能够 有效的防止删库跑路----基础部分1. 安装/卸载2. 连接数据库3. 退出数据库4. 用户管理5. 表管理----高级部分 1. 表操作 增删改查 CURD create update...
2019-11-18 15:22:28
280
原创 数据库连接池
数据库连接池数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态的对池中的连接进行申请、使用、释放; (1)程序初始化时创建连接池 (2)使用时向连接池申请可用连接 (3)使用完毕,将连接返还给连接池 (4)程序退出时,断开所有的连接,并释放资源创建数据库连接池DBCP : Apache组织下面的一个开源的数...
2019-10-24 18:57:54
224
原创 NIO,BIO,AIO,IO的区别
io 与 Nio 区别io 面向流,不会对数据进行缓冲,因此很难对数据进行处理Nio 面向缓冲,可以对数据进行处理io 是阻塞的,Nio 是非阻塞的io 没有选择器Nio 有选择器,可以利用一个线程监视多个通道,这个线程就是选择器NIO,BIO,AIO 的区别BIO : 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这...
2019-09-10 00:42:02
330
原创 如何用栈实现一个队列?
栈是先进后出,队列是先进先出,所以两个栈,一个接收数据,一个处理并返回数据,出来就是一个队列,先进先出的形式了。如图所示:代码实现:package com.revision.Stack;import java.util.Queue;import java.util.Stack;class Test { public static void main(String[] ...
2019-09-09 00:06:07
328
原创 Cookie和session的区别是什么?
Cookie 和 session 的区别(1)Cookie 以文本文件格式存储在浏览器中,而 session 存储在服务端(2)cookie 的存储限制了数据量,只允许 4KB,而 session 是无限量的(3)我们可以轻松访问 cookie 值。无法轻松访问 session 会话值,因此它更安全(4)session 在服务器端,当数量过多时,会影响服务器性能,考虑减轻服务器负担,应当使...
2019-09-08 16:03:23
163
原创 HTTP和HTTPS的区别是什么?
Http 和 Https 协议的区别1、https 协议需要到 ca (电子商务认证中心)申请证书,一般免费证书较少,因而需要一定费用。2、http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl 加密传输协议。3、http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是443。4、http 的连接很简单,是无状态的;HTTPS ...
2019-09-08 14:58:12
780
原创 数据库的范式
当我们想要设计出合理的关系型数据库时,需要遵从不同的规范要求,这些不同的规范要求就被称为范式。各种范式呈递次规范,越高的范式数据库冗余程度越小。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。但是在实际的使用中,我们只需要了解前三个范式,也就是我们常说的“数据库三范式”。第一范...
2019-09-06 10:22:59
181
原创 二叉树的层序遍历
顾名思义,就是对二叉树进行一层一层的遍历,poll方法poll()检索并删除此列表的头(第一个元素)。offer(E e)将指定的元素添加为此列表的尾部(最后一个元素)。我们可以用链表来模拟一个队列public void levelOrder() { BiTNode<E> node =root; LinkedList<BiTNode<E>&...
2019-09-05 00:30:25
191
原创 代理模式
代理模式:为一个对象提供一种代理,以控制对这个对象的访问。分为静态代理和动态代理。什么时候要用?(1)当我们想要隐藏某个类时,可以为其提供代理类(2)当一个类需要对不同的调用者提供不同的调用权限时,可以使用代理类来实现(3)当我们要扩展某个类的某个功能时,可以使用代理模式,在代理类中进行简单扩展(4)spring的aop就是使用了动态代理。优点(1)将代理对象与真实被调用的目标对象...
2019-09-03 23:01:04
195
原创 三种工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式
工厂设计模式工厂模式是用工厂方法代替new操作的一种模式。在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。3种:简单工厂模式、工厂方法模式、抽象工厂模式。适用场景(1)在编码时不能预见需要创建哪种类的实例。(2)系统不应依赖于产品类实例如何被创建、组合和表达的细节(3)Spring框架的IOC就是使用的工厂模式优点(1)一个调用者想创建一个对...
2019-09-02 23:02:52
694
原创 Spring的DI,AOP,IOC
spring 的优点?1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦2.可以使用容易提供的众多服务,如事务管理,消息服务等3.容器提供单例模式支持4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能5.容器提供了众多的辅助类,能加快应用的开发6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等7.spring属于低侵...
2019-08-31 21:37:13
176
原创 关于Java中的Atomic
为什么会出现Atomic类在多线程或者并发环境中,我们常常会遇到这种情况 int i=0; i++ 但这种写法是线程不安全的。为了达到线程安全的目的,我们通常会用synchronized来修饰对应的代码块。还有一种办法就是使用J.U.C包下的atomic类。Atomic类的原理是什么呢atomic类是通过自旋CAS操作volatile变量实现的。CAS(O,V,A)V:主内存存放的实际...
2019-08-30 23:50:37
303
原创 volatile和synchronized的区别和联系
volatile关键字是线程同步的轻量级实现,所以volatile性能肯定比synchronized关键字要好。但是volatile关键字只能用于变量而synchronized关键字可以修饰方法以及代码块。synchronized关键字在JDK1.6之后进行了主要包括为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁以及其它各种优化之后执行效率有了显著提升,实际开发中使用 synch...
2019-08-29 22:59:03
329
原创 JMM(Java Memory Model)
分为两大部分part 1. 线程私有部分程序计数器:记录当前代码执行到哪一个阶段,多线程中,每一个多线程都有一个程序计数器。本地方法栈:
2019-08-28 23:46:53
209
dubbo-admin-master.zip
2021-03-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人