自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 如何处理高并发?

1.系统拆分,将一个系统拆分多个子系统,用dubbo,每个系统连成一个数据库,多数据库可以抗高并发2.缓存:数据库和缓存各存一份数据,读数据从缓存里读,redis缓存走内存,天然抗高并发3.MQ 消息队列:大量写请求灌入MQ,排队等待,后面系统消费慢慢玩,使用MQ异步写,提升并发性,MQ单机抗几万并发也是ok的。4.分库分表:一个数据库拆分多个库,多个库抗击高并发,一个表拆分多个表,提高SQL跑的性能。5.读写分离:主从架构,主库负责写,从库负责读,读流量大时,还可以增加更多的从库。6.Solr.

2022-02-24 10:00:52 4504

原创 单点登录的相关问题?

为什么需要单点登录?1)提高用户效率原因:用户不必为多次登录而困扰,用户不必记住很多id和密码,用户忘记密码并求助支持人员的情况减少2)提高开发人员效率原因:sso为开发人员提供了一个通用的身份验证框架,实际上sso机制是独立的,开发人员不必为了身份验证而操作,只需对应用程序的请求附带一个用户名,身份验证即可完成3)简化配置原因:如果应用程序加入了单点登录协议,应用管理账号的负担就会减轻,简化配置的程度取决于应用程序,因为sso只处理身份验证,因此,应用程序仍然可能需要设置用户属

2022-02-21 14:58:14 1582

原创 Mybaits面试总结

Mybaits是什么?Mybaits是一款优秀的持久层架构,一个半ORM(对象关系映射)框架,它支持定制化SQL,存储过程以及高级映射,Mybatis避免了所有JDBC代码和手动设置参数以及获取结果集,Mybatis可以使用简单的XML和注解配置和映射原生类型、接口和JAVA的POJO(Plain Old Java Objects,普通老式对象)为数据库中的记录。ORM是什么?ORM(Object Retational Mapping) 对象关系映射,为了解决关系型数据库和简单Java对象(PO

2022-02-16 16:33:06 597

原创 为什么使用缓存的相关问题

缓存的主要性能:高并发、高性能缓存优点:大幅度提升性能,优化用户体验减少对数据库的读操作,数据库压力降低,加快响应速度缓存缺点:1)缓存与数据库双写不一致 解决方案:读请求和写请求串行化,放在一个队列里,2)缓存雪崩3)缓存穿透4)缓存并发竞争高性能使用场景:一个请求过来,耗时600ms,到最后结果不变,或者结果变了,但是也没反映给用户,这时直接放缓存里,一个key对应一个value, 2ms搞定,总结:一堆复杂操作耗时出来得结果,后面还有一堆请...

2022-02-15 14:57:27 543

原创 MySQL面试题(2)

简述在MYSQL数据库中MyISAM和InnoDB的区别不支持事务,但每次查询都是原子的;支持表级锁,每次操作对整个表加锁;存储表的总行数;一个MYISAM有个三个文件:表结构文件、 索引文件 、数据文件;采用非聚集索引,索引文件的数据域存储指向数据文件的指针,辅索引与主索引基本一致,但是辅索引不用保证唯一性InnoBD:支持ACID的事务,支持事务的四种隔离级别;支持行级锁及外键约束;可支持写并发;不存储总行数:一个InnoDb引擎存储在一个文件空间(共享表空间,表

2022-02-11 15:44:44 554

原创 Mysql面试题总结(1)

Sql优化:1.查询语句不使用Select *2. 少使用子查询 用关联查询(left join right join left join) 代替3. or查询时尽量使用uniun union all 数据不重复或不需要剔除重复数据情况下 uniun all 比uniun 更好4. 尽量避免在where子句使用<> 或者!= 操作符,否则导致引擎放弃索引而进行全表扫描5. 不要在where子句中对字段使用nul判断, 多用0 where 条件= 06. 减少使用...

2022-02-10 15:59:21 602

原创 javaScript进阶--》数据的赋值

对象赋值用 Object.assgin() 实现浅拷贝代码举例const obj1 = { name:'qingkaobei', age:28, desc:'hello world',};cont obj2 = { name:'徐欢', sex:'男',};//【关键代码】浅拷贝:把obj1赋值给obj2。这行代码的返回值也是obj2Object.assign(obj2,obj1);console.log(JSON.stringfy(obj2));打印结果{"name":

2021-02-04 18:58:36 174

原创 获取hashMap值的四种方法

ArrayList和HashMap是异步的,Vector和HashTable是同步的,所以Vector和HashTable是线程安全的,而 ArrayList和HashMap并不是线程安全的。因为同步需要花费机器时间,所以Vector和HashTable的执行效率要低于 ArrayList和HashMap。List接口List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。

2021-02-04 13:20:13 9676

原创 JAVA 有返回和无返回值的区别和用法

public class UserController { static String name; static int age; int score; public static void main(String[] args) { //调用静态方法可以直接调用 myName("杨四郎"); //有返回值的方法可直接调用,也可以创建对象,对其重新赋值 System.out.println(myAge()); //创建对象,对属性赋.

2021-02-04 10:29:14 1503

原创 DB2删除表且释放空间存储过程

调用示例call BSDCMACW.P_DROP_PURGE ('BSDCMACW','test12_01')删除表且释放空间SET CURRENT SCHEMA = "bsdcmacw";SET CURRENT PATH = SYSIBM,SYSFUN,SYSPROC,SYSIBMADM,BSDCMACW;CREATE OR REPLACE PROCEDURE BSDCMACW.P_DROP_PURGE ( IN P_OWNER VARCHAR(32), IN P_TABL

2021-02-04 10:20:57 1619

原创 DB2清空表数据存储过程

调用call BSDCMACW.P_TRUNC_TABLE('BSDCMACW','T_ADS_FACT_CWMO_0010');清空表数据SET CURRENT SCHEMA = "bsdcmacw";SET CURRENT PATH = SYSIBM,SYSFUN,SYSPROC,SYSIBMADM,BSDCMACW;CREATE OR REPLACE PROCEDURE BSDCMACW.P_TRUNC_TABLE ( IN P_OWNER VARCHAR(32), I

2021-02-04 09:40:15 508

原创 DB2创建伪表存储过程

调用示例call BSDCMACW.P_CREATE_TEMP_TABLE('BSDCMACW','test12','01','select * from bsdcmacw.T_ADS_FACT_CWMO_0010');创建伪表SET CURRENT SCHEMA = "bsdcmacw";SET CURRENT PATH = SYSIBM,SYSFUN,SYSPROC,SYSIBMADM,BSDCMACW;CREATE OR REPLACE PROCEDURE BSDCMACW.P_CRE

2021-02-04 09:32:16 322 1

转载 窗口函数 (转) rows between unbounded preceding and current row

以下转自:(http://blog.csdn.net/huozhicheng/article/details/5843782/)作者:Horrison目录1.窗口函数简介2.窗口函数示例-全统计3.窗口函数进阶-滚动统计(累积/均值)4.窗口函数进阶-根据时间范围统计5.窗口函数进阶-first_value/last_value6.窗口函数进阶-比较相邻记录一、窗口函数简介:到目前为止,我们所学习的分析函数在计算/统计一段时间内的数据时特别有用,但是假如计算/统计需要随着

2021-02-02 15:28:39 12694

原创 使用git创建仓库提交代码到远程仓库

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。Git 与 SVN 区别Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一

2021-01-26 15:03:22 288

原创 hexo+github自建博客

hexo是一个快速、简介、高效的博客框架,支持Markdown,拥有丰富的插件系统,常与GitHub等代码托管平台一起构建个人博客网站。安装$ npm install hexo-cli -g//安装创建初始化项目hexo init blog进入项目cd blog安装依赖npm install启动服务hexo server/hexo s //缩写启动服务之后会出现如下内容,在浏览器打开“http://localhost:4000/”进入网页链接会出现这样的页面内容此时已

2021-01-25 17:09:01 115

原创 npm安装hexo报错

可见是淘宝镜像的问题,查看自己当前的镜像npm get registry,然后切换为原来的镜像npm config set registry https://registry.npmjs.org/,安装成功,特此记录.C:\Users\zhang>npm install -g hexo-clinpm ERR! code ENOTFOUNDnpm ERR! errno ENOTFOUNDnpm ERR! network request to https://registry.npm.tao

2021-01-25 10:28:43 718

原创 vscode安装配置webpack5.16

1.首先安装node.js,查看自己的版本,打开cmd,输入node -v查看版本号,还有npm2.创建空文件夹webpackdemo,打开进入文件夹,在终端输入npm init -y 初始化项目生成默认的package.json,这是会有小伙伴不理解这一步,如下解释 2.1 为什么要初始化项目? 在node开发中使用npm init会生成一个pakeage.json文件,这个文件主要是用来记录这个项目的详细信息的,它会将我们在项目开发中所要用到的包,以及项目的详细信息等记录...

2021-01-21 13:40:30 647

原创 webpack卸载的详细步骤

1.删除全局webpack-cli 如下命令npm uninstall -g webpack-cli2.删除本地(局部)webpack-cli 如下命令npm uninstall webpack-cli3.删除全局webpack 如下命令npm uninstall -g webpack4.删除本地webpack 如下命令npm un webpack5.检查webpack残余文件ls 用ls命令查看是否有这几个文件#node_modules#package-lock.json#pack

2021-01-21 12:57:28 10795

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除