- 博客(64)
- 收藏
- 关注
原创 juc并发
同理HashSet用CopyOnWriteArraySet解决HashMap用ConcurrentHashMap解决锁的是当前对象,调用其它synchronized方法同样要等synchronized执行结束当静态同步方法锁的是class,其它静态同步被锁。但和普通的不是一把锁,所以静态锁不住普通。再用FutureTask创建新线成设置初始值,每次执行countDown会把初试值减1,为0时会执行await后的代码创建时可以传入许可数量,通过方法获得许可后可执行,也可归还许可Monitor(监视
2022-04-07 09:48:27 154
原创 算法基础提升
布隆过滤器集合只有加入和查询,用较小的空间。如:有100亿条url黑名单比较当前网站是否在其中允许有失误,不在过滤器里面,误报成在。
2022-02-06 15:06:37 345
原创 结构与算法
数据结构包括:线性结构和非线性结构。线性结构线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息线性结构常见的有:数组、队列、链表和栈,后面我们会详细讲解.非线性结构非线性结构包括:二维数组,多维数组,广义表,树结构,图结构稀疏sparsearray数组基本
2021-12-02 22:35:34 431
原创 RabbitMQ
MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。1.流量消峰举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余,正常时段我们下单一秒后就能返回结果。但是在高峰期,如果有两万次下单操作系统
2021-10-10 21:14:53 669
原创 SpringCloud Alibaba
Nacos服务注册和配置中心Nacos就是注册中心 + 配置中心的组合,Nacos = Eureka+Config +Bus替代Eureka做服务注册中心,替代Config做服务配置中心安装运行访问http://localhost:8848/nacos默认账号密码都是nacos为什么nacos支持负载均衡Nacos作为服务注册中心演示基于Nacos的服务提供者父POM <dependencyManagement> <dependencies>
2021-09-06 20:55:35 281
原创 反射(自用)
通过反射得到class类,class对象只能由系统建立对象。每个类只有一个class对象。包含了所以信息。class类常用方法static ClassforName(String name) 返回指定类名的Class对象Object newInstabce() 调用缺省构造函数,返回Object对象的一个实例getName() 返回次class对象所代表的实体名称Class getSuperClass() 返回当前class父类的class对象Class[] getinterfaces()
2021-08-24 18:07:06 96
原创 springcloud(五) 分布式配置中心
SpringCloud Config分布式配置中心微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。SpringCloud Config分为服务端和客户端两部分。服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息,加密/解密信息等访问接口客户端则是通过指定的配置中心来管理应用资源,以及与业务相关的配置内容,并
2021-08-24 16:16:24 151
原创 springcloud(二) 服务调用
Ribbon负载均衡服务调用Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具。LB负载均衡(Load Balance)是什么简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA(高可用)。常见的负载均衡有软件Nginx,LVS,硬件 F5等。集中式LB即在服务的消费方和提供方之间使用独立的LB设施(可以是硬件,如F5, 也可以是软件,如nginx), 由该设施负责把访问请求通过某种策略转发至服务的提供方;进程内L
2021-08-04 16:42:17 246
原创 springcloud(一) 注册中心
RestTemplate介绍Spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,统一了RESTful的标准,封装了http链接, 我们只需要传入url及返回值类型即可。相较于之前常用的HttpClient,RestTemplate是一种更优雅的调用RESTful服务的方式。//通过restTemplate调用商品微服务 Product object =restTemplate.getForObject("http://127.0..
2021-08-02 16:43:43 2531
原创 ZooKeeper
Zookeeper 数据模型ZooKeeper 是一个树形目录服务,其数据模型和Unix的文件系统目录树很类似,拥有一个层次化结构。这里面的每一个节点都被称为: ZNode,每个节点上都会保存自己的数据和节点信息。节点可以拥有子节点,同时也允许少量(1MB)数据存储在该节点之下。节点可以分为四大类:PERSISTENT 持久化节点EPHEMERAL 临时节点 :-ePERSISTENT_SEQUENTIAL 持久化顺序节点 :-sEPHEMERAL_SEQUENTIAL 临时顺序节点 :-
2021-07-26 18:05:22 179
原创 dubbo
Dubbo快速入门公共接口public interface UserService { String seyHello();}创建服务提供者Provider模块//@Service//将该类的对象创建出来,放到Spring的IOC容器中 bean定义import com.kang.UserService;import org.apache.dubbo.config.annotation.Service;@Service//将这个类提供的方法(服务)对外发布。将访问的地址
2021-07-25 14:12:01 156
原创 vue-cli
1、有node.js环境(附带有npm),可以换npm镜像源2、安装vue-clicnpm install vue-cli -g查看vue list第一个vue-cli应用基于webpack模板的vuevue init webpack name安装依赖环境npm install运行npm run dev运行时webpack会自动打包vue-routernpm vue-router --save-dev如果在一个模块化工程中使用它,必须要通过 Vue.use() 明确地安装
2021-07-22 15:25:26 84
原创 node.js和es6
Node.js安装1、下载对应你系统的Node.js版本:https://nodejs.org/en/download/ 资料 文件夹中已经提供。查看node版本信息node -v包资源管理器NPMnpm是一个node.js的管理和分发工具,可以根据配置package.json下载js库。本地安装:将下载的模块安装到当前目录(项目);全局安装:将下载的模块安装到全局的目录( npm root -g )切换NPM镜像使用nrm 切换镜像源npm install nrm -gnrm u
2021-07-21 09:41:51 284 1
转载 springboot进阶五
数据访问数据源的自动配置-HikariDataSource <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dependency> 导入数据库驱动默认版本
2021-07-20 21:14:31 128
转载 springboot进阶四
拦截器HandlerInterceptor 接口/** * 登录检查 * 1、配置好拦截器要拦截哪些请求 * 2、把这些配置放在容器中 */@Slf4jpublic class LoginInterceptor implements HandlerInterceptor { /** * 目标方法执行之前 * @param request * @param response * @param handler * @return
2021-07-19 21:11:49 120
转载 springboot进阶三
原文语雀:视图解析与模板引擎SpringBoot默认不支持 JSP,需要引入第三方模板引擎技术实现页面渲染。模板引擎-Thymeleaf1、表达式表达式名字 语法 用途变量取值 ${…} 获取请求域、session域、对象等值选择变量 *{…} 获取上下文对象值消息 #{…} 获取国际化等值链接 @{…} 生成链接片段表达式 ~{…} jsp:include 作用,引入公共页面片段条件运算If-then: (if) ? (then)If-then
2021-07-19 09:47:50 84
转载 springboot进阶二
原文语雀:复杂参数Map、Model(map、model里面的数据会被放在request的请求域 request.setAttribute)、Errors/BindingResult、RedirectAttributes( 重定向携带数据)、ServletResponse(response)、SessionStatus、UriComponentsBuilder、ServletUriComponentsBuilderMap<String,Object> map, Model model,
2021-07-17 18:01:47 102
原创 java时间
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = "2021-6-9 11:30:30"; String time2 = "2021-6-9 11:30:31"; Date date = ft.parse(time); Date date2 = ft.parse(time2); System.out.println(date.getTime() &g...
2021-07-12 15:49:10 51
转载 SpringBoot基础(自用)
SpringBoot2入门引入依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </parent> <dep
2021-07-10 16:22:09 134
原创 mybatis(自用)
原始jdbc操作(查询数据)原始jdbc操作(插入数据)Mybatis的快速入门MyBatis开发步骤mybatis官网添加MyBatis的坐标< !--mybatis坐标--><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version&
2021-06-20 19:55:33 171 1
原创 vue(自用)
Vue介绍Vue(读音/vjuː/,类似于view) 是一套用于构建前后端分离的框架。刚开始是由国内优秀选手尤雨溪开发出来的,目前是全球“最”流行的前端框架。使用vue开发网页很简单,并且技术生态环境完善,社区活跃,是前后端找工作必备技能!MVVM模式M:即Model,模型,包括数据和一些基本操作V:即View,视图,页面渲染结果VM:即View-Model,模型与视图间的双向操作(无需开发人员干涉)官网Vue安装和使用vue的安装大体上分成三种方式,第一种是通过script标签引用的,第二
2021-06-14 11:59:30 101
原创 Spring-MVC(自用)
Spring集成web环境Spring提供获取应用上下文的工具导入Spring集成web的坐标<dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.0.5.RELEASE</version></dependency>配置ContextLoader
2021-06-06 22:49:53 232
原创 python - jieba库(自用)
安装pip install jieba使用import jieba分词jieba.cut 和jieba.lcut区别lcut会转化成list数据返回模式精准模式(默认):试图将句子最精确地切开,适合文本分析seg_list = jieba.cut("我来到北京清华大学", cut_all=False)全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
2021-05-21 16:50:19 98
原创 Spring(自用)
spring概述Spring是什么(理解)Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核。提供了展现层 SpringMVC和持久层 Spring JDBCTemplate以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE 企业应用开源框架Spri
2021-05-05 16:14:38 216
原创 jedis(自用)
1. Jedis介绍与快速入门通过java来操作redis使用jedis搭建jedis环境编写代码程序执行报错原因:redis服务器是否开启linux的防火墙是否关闭在redis.conf配置文件中 bind 127.0.0.1 代表的是外部 不可以访问redis通过以上操作,错误信息不一样了原因:是我们没有设置密码我们需要在redis.conf文件中设置密码在命令行下连接redis2. string类型常见操作//string操作public class Je
2021-05-04 16:38:40 3264
原创 redis(自用)
1. Redis介绍Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。Redis是 NoSQL技术阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任,如缓存、队列系统的不同角色Redis的官网: https://redis.io/2. Red
2021-05-04 15:50:35 129
原创 Javaweb-AJAX(自用)
AJAX介绍AJAX 是一种用于创建快速动态网页的技术。AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。AJA
2021-05-04 11:28:44 109
原创 pandas(自用)
pandas-SeriesSeries一维,带标签数据pandas创建Series1.根据数组创建2.指定索引创建3.通过字典来创建4.通过ndarray创建import pandas as pdimport numpy as npa = pd.Series(np.array(range(5)))b = pd.Series([0,1,2,3,4],index=list("abcde"))c = pd.Series({"name":"k","age":20,"sex":"man"})
2021-04-20 15:37:54 175 1
原创 numpy(自用)
numpy(numerical python) 一个在Python中做科学计算的基础库,重在数值计算,也是大部分python科学计算库的基础库,多用于在大型、多维数组上执行数值运算安装numpypip install numpy创建数组np.array([1,2,3,4,5])np.array(range(1,6))np.arange(1,6)numpy.zeros返回特定大小,以 0 填充的新数组。numpy.ones返回特定大小,以 1 填充的新数组属性ndarray.sh
2021-04-19 22:17:04 113
原创 Snownlp(自用)
安装pip install snownlp# 导入SnowNLP库from snownlp import SnowNLP情绪判断,返回值为正面情绪的概率,越接近1表示正面情绪,越接近0表示负面情绪s = "这部电影真心棒,全程无尿点"s2 = "这部电影简直烂到爆"test = SnowNLP(s)test2 = SnowNLP(s2)print(test.sentiments, test2.sentiments)0.9842572323704297 0.05669608917295
2021-04-16 21:06:33 331
原创 JQuery(自用)
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。快速入门第一步:导入jar包第二部完成操作$(function(){ alter("hello jquery
2021-04-11 22:03:00 110
原创 jsp(自用)
<%//第一种:java脚本段 //定义局部变量 String str = "hello jsp"; //输出内容到控制台 System.out.println(str); //输出内容到浏览器 out.print(str); //输出全局变量 out.write("" + num);%><%!//第二种:声明全局变量,方法类 int num = 2;%> <%--第三种:输出表达式--%&g
2021-03-20 17:40:18 85
原创 web概述(自用)
软件架构CS结构的软件CS:Client/Server 客户端和服务器,这种软件往往需要安装。比如QQ、迅雷、播放器。优点:可以减轻服务器端压力,将部分代码写到客户端。界面很美观。缺点:一旦服务器更新了,客户端也需要更新。分布式开发比较弱。BS结构的软件BS:Browser/Server 浏览器和服务器,这种软件不需要安装,只需要通过浏览器就可以访问。优点:服务器一旦更新,不需要更新客户端,因为客户端就是浏览器,比较强的分布式能力缺点:服务器端压力会比较大。界面效果不如CS结构软件。WEB
2021-03-14 15:43:07 64
原创 java加载配置文件(自用)
属性文件格式:扩展名是properties内容:key=valuejava获取属性文件内容Properties properties = new Properties();properties.load(new FileInputStream("配置文件路径"));properties.getProperty("key");//获取valuexml文件
2021-03-11 15:39:38 118
原创 JDBC(自用)
没有JDBC的时候,如果现在要开发一套系统,使用Java连接MySQL数据库,那么这时候Java程序员需要了解MySQL驱动API,如果使用Java连接Oracle数据库,那么这个时候Java程序员需要了解Oracle数据库驱动API。SUN公司提供一套统一的规范(接口)。然后各个数据库生产商提供这套接口的实现。这套接口规范就是JDBC的规范。快速入门...
2021-03-11 09:49:09 124
原创 struts2(自用)
一个基于请求的轻量级的mvc框架struts2的helloworld案例新建web项目导入jar包编辑web.xml文件–配置struts2的前段控制器(分发器)在struts2中所有的业务方法都是public的,返回值都为String类型,所有的业务方法都没有参数,方法名可以自定义,默认为executestruts2配置web.xml前端控制器struts2框架开始工作的入口,接管请求struts2.xml该配置文件名称固定,并且只能放于src下package(重点): nam
2021-03-05 17:04:05 215 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人