- 博客(156)
- 收藏
- 关注
原创 VUE学习六监视属性
console.log('isHot被修改了',newValue,oldValue,this)console.log('isHot被修改了',newValue,oldValue)// immediate:true, //初始化时让handler调用一下。immediate:true, //初始化时让handler调用一下。// immediate:true, //初始化时让handler调用一下。immediate:true, //初始化时让handler调用一下。// deep:true,//深度监视。
2023-07-09 17:30:04 10518
原创 VUE学习五计算属性
/get有什么作用?当有人读取fullName时,get就会被调用,且返回值就作为fullName的值。//get什么时候调用?1.初次读取fullName时。// console.log(this) //此处的this是vm。console.log('get被调用了')//set什么时候调用?当fullName被修改时。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。
2023-07-09 16:29:06 10404
原创 VUE学习四事件处理
/ console.log(this) //此处的this是vm。// console.log(this) //此处的this是vm。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。//定义了一个别名按键。
2023-07-09 01:19:47 10400
原创 VUE学习三数据代理
/当有人读取person的age属性时,get函数(getter)就会被调用,且返回值就是age的值。//当有人修改person的age属性时,set函数(setter)就会被调用,且会收到修改的具体值。// configurable:true //控制属性是否可以被删除,默认值是false。// enumerable:true, //控制属性是否可以枚举,默认值是false。// writable:true, //控制属性是否可以被修改,默认值是false。'有人修改了age属性,且值是'
2023-07-08 23:51:24 8821
原创 Vue学习2
v.$mount('#root') //第二种写法 *///el:'#root', //第一种写法。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。//此处的this是Vue实例对象。//data的第一种写法:对象式。//data的第二种写法:函数式。name:'尚硅谷'name:'尚硅谷'//data的两种写法。
2023-07-05 22:44:23 9091
原创 Vue学习一
/data中用于存储数据,数据供el所指定的容器去使用,值我们暂时先写成一个对象。//el用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符串。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。
2023-07-05 22:07:37 9266
原创 Express
路由(Routing)是由一个 URI(或者叫路径标识)和一个特定的 HTTP 方法(GET、POST 等)组成的,涉及到应用如何处理响应客户端请求。每一个路由都可以有一个或者多个处理器函数,当匹配到路由时,这个/些函数将被执行。app 是 express 实例METHOD 是一个 HTTP 请求方法PATH 是服务端路径(定位标识)HANDLER 是当路由匹配到时需要执行的处理函数。
2023-06-12 23:30:18 1050
原创 端口扫描器——X-scan
X-scan是由安全焦点开发的一个功能强大的扫描工具。它采用多线程方式对指定IP地址段进行安全漏洞监测,支持插件功能。
2023-04-05 23:20:00 1019
原创 SpringBoot自动配置原理
spring boot 在配置上相比spring要简单许多, 其核心在于spring-boot-starter, 在使用spring boot来搭建一个项目时, 只需要引入官方提供的starter, 就可以直接使用, 免去了各种配置。starter简单来讲就是引入了一些相关依赖和 一些初始化的配置。Spring官方提供了很多starter,第三方也可以定义starter。
2023-01-17 19:48:41 12445 1
原创 Redis持久化方式
save命令会阻塞redis服务器进程,直到RDB文件创建完毕为止,在服务器进程阻塞期间,服务器不能处理任何命令请求;和save命令直接阻塞服务器进程的做法不同,bgsave命令去派生一个子进程,然后由子进程负责创建RDB文件,服务器进程(父进程)继续处理命令请求。save 命令由服务器进程执行保存工作,bgsave命令则由子进程执行保存工作,所以save命令会阻塞服务器,而bgsave命令则不会。用户可以通过save选项设置多个保存条件,但只要其中任意一个条件被满足,服务器就会执行bgsave命令。
2023-01-11 20:08:38 8523
原创 redis五种基本数据类型
在商品秒杀场景最怕的就是商品超卖,为了解决超卖问题,我们经常会将库存商品缓存到类似MQ的队列中,多线程的购买请求都是从队列中取,取完了就卖完了,但是用MQ处理的化有点重,这里就可以使用redis的list数据类型来实现,在秒杀前将本场秒杀的商品放到list中,因为list的pop操作是原子性的,所以即使有多个用户同时请求,也是依次pop,list空了pop抛出异常就代表商品卖完了。第一点:修改后字符串的大小小于1MB,字符串的大小变为多少,程序分配的未使用空间就和字符串的大小一样。
2023-01-11 18:42:22 1973
原创 Spring Cloud Gateway
Spring Cloud Gateway是作为Spring Cloud生态系中的网关,其目标是替代Netflix Zuul,它不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全、监控/埋点和限流等。
2023-01-10 20:41:39 2181
原创 mysql索引
MySQL官方对索引的定义为:索引是帮助mysql高效获取数据的数据结构。所以说索引的本质是:索引结构。索引的目的在于提高查询效率,可以类比字典、火车站的车次表、图书的目录等。可以简单的理解为”排好序的快速查找数据结构“,数据本身之外,数据库还维护着一个满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向数据),这样就可以在这些数据结构上实现高级查找算法,这种数据结构,就是索引。
2023-01-10 13:42:19 2794
原创 happens-before原则
在JMM中,如果一个操作执行的结果需要对另一个操作可见或者代码重排序,那么这两个操作之间必须存在happens-before(先行发生)原则。
2023-01-07 22:46:44 1232
原创 设计模式之单例模式
单例模式属于创建型模式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
2023-01-07 20:43:39 7525
原创 设计模式之工厂模式
工厂模式是Java中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
2023-01-07 19:48:14 7304
原创 设计模式之设计原则
LSP是继承复用的基石,只有当派生类可以替换掉基类,且软件单位的功能不受到影响时,基类才能真正被复用,而派生类也能够在基类的基础上增加新的行为。实现开闭原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现,所以里氏替换原则是对实现抽象化的具体步骤规范。合成则是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。在程序需要进程拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。这个原则是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于具体。
2023-01-07 19:16:03 1190
原创 Elasticsearch-使用入门
接口:POST http://192.168.177.134:9200/customer/external/1/_update。接口:DELETE http://192.168.163.131:9200/customer/external/1。接口:GET http://192.168.177.134:9200/customer/external/1。接口:PUT http://192.168.177.134:9200/{{index_name}}
2023-01-06 13:53:31 7763
原创 Elastisearch-介绍及安装
全文搜索属于最常见的需求,开源的Elasticsearch是目前全文搜索引擎的首选。它可以快速地存储、搜索和分析海量数据。Elasticsearch的底层是开源库Lucene。但是,你没法直接用Lucene,必须自己写代码去调用它的接口。Elasticsearch是Lucene的封装,提供了REST API的操作接口,开箱即用。
2023-01-06 12:06:48 1182
原创 synchronzied
如果成功,当前线程获得锁,如果失败,表示Mark Word已经被替换成了其他线程的锁记录,说明在于其他线程竞争锁,当前线程就尝试使用自旋来获取锁。如果存放的不是自己的线程ID,就表示发生了竞争,锁已经不是总偏向于同一个线程了,这个时候会尝试使用CAS来替换MarkWord里面的线程ID为新线程的ID,如果竞争成功,表示之前的线程不存在了,MarkWord里面的线程ID为新线程的ID,锁不会升级,仍然为偏向锁,如果竞争失败,这时候可能需要升级为轻量级锁,才能保证线程间公平竞争锁。计数器为零代表锁已被释放。
2023-01-04 20:18:03 670
原创 多线程之锁
死锁是指两个或两个以上的线程在执行过程中,因为争夺资源而造成的一种相互等待的现象,若无外力干涉那它们都将无法推进下去,如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因为争夺有限的资源而陷入死锁。是指在同一个线程在外层方法获取的时候,再进入该线程的内部方法会自动获取锁(前提,锁对象得是同一个对象),不会因为之前已经获取过还没释放而阻塞。
2023-01-04 18:25:59 297
原创 守护线程介绍
典型的守护线程就是垃圾回收线程,当进程中没有非守护线程了,则垃圾回收线程也就没有存在的必要了,自动销毁。用个比较通俗的比喻来解释一下“守护线程”:任何一个守护线程都是整个JVM中所有非守护线程的“保姆”,只要当前JVM实例中存在一个非守护线程没有结束,守护线程就在工作,只有当最后一个非守护线程结束时,守护线程才随着JVM一同结束工作。守护线程是一种特殊的线程,它的特护含义有“陪伴”的含义,当进程中不存在非守护线程了,则守护线程自动销毁。在Java线程中有两种线程,一种是用户线程,另一种是守护线程。
2023-01-04 17:59:29 390
原创 并发和并行
为了看起来像是“同时干多件事”,Windows这种操作系统是把CPU的时间划分成长短基本相同的时间区间,即“时间片”,通过操作系统的管理,把这些时间片依次轮流地分配给各个应用使用。那么,就可以说听音乐和打游戏是并发的。由于计算机的处理速度很快,只要时间片的间隔取得适当,那么一个用户作业从用完分配给它的一个时间片到获得下一个CPU时间片,中间有所“停顿”,但用户察觉不出来。这样,给用户的感觉是它同时的进行听歌和打游戏,实际上,在操作系统中,CPU是在游戏进程和音乐播放器进程之间来回切换的。
2023-01-04 17:38:04 466
原创 maven
命令mvn compile:用来编译src/main/java目录下的业务逻辑代码mvn clean:清空target目录(项目编译之后的class文件目录)mvn test:将测试类编译成对应的字节码文件mvn package:将当前项目打成对应的包【jar包,war包,pom包】mvn install:将当前项目打成的包扔到本地仓库mvn deploy:将当前项目达成的包传到私服上mvn site:生成站点相关信息maven仓库的划分本地仓库:在当前计算机上的一个指定的仓库【文..
2023-01-04 09:42:15 278
原创 跨域的产生
产生跨域的原因:(同源策略)协议,端口号和域名只要有一个不同,即产生跨域。跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。跨域流程:解决跨域:1、添加响应头-Access-Control-Allow-Origin:支持哪些来源的请求跨域-Access-Control-Allow-Methods:支持哪些方法的跨域-Access-Control-Allow-Credentials:跨域请求默认不包含cookie,设置true
2023-01-03 22:14:10 211
原创 spring oAuth2.0
会话用户认证通过后,为了避免用户的每次操作都进行认证可将用户的信息保证在会话中。会话就是系统为了保持当前用户的登录状态所提供的机制,常见的有基于session方式,基于token方式等。基于session的认证方式:用户认证成功后,在服务端生成用户相关的数据保存在session(当前会话)中,发给客户端的session_id存放到cookie中,这样用户客户端请求时带上session_id就可以验证服务器端是否存在session数据,以此完成用户的合法校验,当前用户退出系统或session过期销毁时.
2023-01-03 22:12:54 889
原创 LockSupport与线程中断机制
每个线程对象中都有一个中断标识位,用于表示线程是否被中断;接着你需要自己写代码不断地检测当前线程地标识位,如果为true,表示别的线程请求这条线程中断,此时究竟该做什么需要你自己写代码实现。若要中断一个线程,你需要手动调用该线程的interrupt方法,该方法也仅仅是将线程对象的中断标识设成true;首先:一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止,自己来决定自己的命运。因此,Java提供了一种用于停止线程的协商机制——中断,也即中断标识协商机制。
2023-01-03 22:11:15 89
原创 HAProxy的安装
6、向配置文件(haproxy.conf)中插入以下配置信息,并保存。5、安装完成后,创建目录、创建HAProxy配置文件。3、进入解压后的目录,查看内核版本,进行编译。2、 解压到/usr/local/src。1、将HAProxy上传到opt目录下。8、查看HAProxy进程。4、编译完成后,进行安装。7、启动HAProxy。
2023-01-03 21:53:44 934
原创 spring的事务隔离级别
3、ISOLATION_READ_COMMITTED:读已提交,一个事务提交后才能被其他事务读取到(会造成幻读、不可重复度),SQL server的默认级别。mysql的默认隔离级别。2、ISOLATION_READ_UNCOMMITTED:读未提交,最低隔离级别、事务未提交前,就可被其他事务读取(会出现幻读、脏读、不可重复读)5、ISOLATION_SERIALIZABLE:序列化,代价最高最可靠的隔离级别,该隔离级别能防止脏读、不可重复读、幻读。
2023-01-03 09:47:38 8137
原创 spring事务的noRollbackFor和RollbackFor属性
rollbackFor:哪些异常需要回滚noRollbackFor:哪些异常可以不回滚。
2023-01-03 09:06:35 9412
原创 免费的简历模板网站推荐
网站主要以设计类素材为主,办公类素材也很多,简历模板大部个偏简约风,各种版式都有,而且经常会更新。最重要的是全部都能免费下载。
2023-01-03 09:02:07 107
原创 使用@Autowired注解自动装配的过程是怎样的?
在启动spring IOC时,容器自动装载了一个AutowiredAnnotationBeanPostProcessor后置处理器,当容器扫描到@Autowired、@Resource或@Inject时,就会在IOC容器自动查找需要的bean,并装配对该对象的属性。使用@Autowired注解来自动装配指定的bean。● 如果查询结果刚好为一个,就将该bean装配给@Autowired指定的数据;● 如果查询的结果不止一个,那么@Autowired会根据名称来查找;
2023-01-02 21:08:16 487
原创 Spring框架中用到的设计模式
5、观察者模式:观察者模式定义的是对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都能得到通知并被自动更新。如Spring中listener的实现—ApplicationListener。4、模板方法:用来解决代码重复的问题。3、代理模式:Spring的AOP功能用到了JDK的动态代理和CGLIB字节码生成技术;1、工厂模式:BeanFactory就是简单工厂模式的体现,同来创建对象的实例;2、单例模式:Bean默认为单例模式。
2023-01-02 09:01:22 141
原创 Redis的应用场景
list简单的list,顺序列表,支持首位或者末尾插入数据set无序list,查找速度快,适合交集、并集、差集处理sorted set有序的set。如省市区表、字典表等。因为list是有序的,适合根据写入的时间来排序,如:最新的***,消息队列等。set——可以简单的理解为ID-List的模式,如微博中一个人有哪些好友,set最牛的地方在于,可以对两个set提供交集、并集、差集操作。string——适合最简单的k-v存储,类似于memcached的存储结构,短信验证码,配置信息等,就用这种类型来存储。
2023-01-01 13:23:47 655
原创 Java异常
Error类和Exception类都是继承Throwable类。Error类型的错误通常为虚拟机相关错误,如系统崩溃,内存不足,堆栈溢出等,编译器不会对这类错误进行检测,Java应用程序也不应对这类错误进行捕获,一旦这类错误发生,通常应用程序会被终止,仅靠应用程序本身无法恢复;Exception类的错误是可以在应用程序中进行捕获并处理的,通常遇到这种错误,应对其进行处理,使应用程序可以继续正常运行。
2023-01-01 10:59:27 81
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人