自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (9)
  • 收藏
  • 关注

原创 多线程理解

实现线程的方式有两种:1、继承java.lang.Thread,并重写它的run()方法2、实现java.lang.Runnable接口,实现它的run()方法,接口中就一个方法run()一、run()和start()stat() 用于自动调用run()其实Thread中的run方法调用的是Runnable接口的run方法。Thread和Runnable都实现了run方法,这种操作模式其实就是代理模式。关于代理模式https://blog.csdn.net/zhangzey.

2021-07-08 12:15:35 91

原创 为啥需要线程池,原理

每次启动一个线程都要创建一个新的浪费资源的,还有时候线程过多的时候回造成服务器崩溃,所以有了线程池的诞生,线程池是用来管理线程的Executor: 所有线程池的接口,只有一个方法。线程池的工作过程如下:线程池刚创建时,里面没有一个线程。任务队列是作为参数传进来的。不过,就算队列里面有任务,线程池也不会马上执行它们。 当调用 execute() 方法添加一个任务时,线程池会做如下判断: 如果正在运行的线程数量小于 corePoolSize,那么马上创建线程运行这个任务; 如果正在运行的线

2021-06-28 11:33:24 133

原创 ReentrantLock和synchronized两种锁定机制的对比

多线程和并发性synchronized 不能中断锁ReentrantLock还多了 锁投票,定时锁等候和中断锁等候,是可重入锁在资源竞争不是很激烈的情况下,Synchronized的性能要优于ReetrantLock,但是在资源竞争很激烈的情况下,Synchronized的性能会下降几十倍,但是ReetrantLock的性能能维持常态;Synchronized锁原理属于JVM层面的分为:方法同步和代码块同步比如://下列两个方法有什么区别 public synchron.

2021-06-28 11:32:49 679

原创 ConcurrentHashMap

Concurrent是同时的意思相对于HashTable和Collections.synchronizedMap(),ConcurrentHashMap能够在线程安全的基础上提供更好的并操作。同时降低对读的一致性要求。jdk6、7、8都不同1、jdk6/7的的实现设计思路:采用分段锁的设计,而HashTable是对整个map加锁性能下降。ConcurrentHashMap是对某个部分加锁。but,由于不是对整个Map加锁,导致一些需要扫描整个Map的方法(如size(), contain

2021-06-28 11:32:17 107

原创 mysql索引B树B+树,联合索引

二叉树,存在平衡问题红黑树也没用,mysql底层没用到, 层级太多,数据量太大有问题B+树,折半查找算法:特点有:1.非叶子节点不存储数据,只存储索引,减少io2.叶子节点包含所有索引字段3,叶子节点指针相连,提高访问性能b树和b+树的区别,b树叶子节点没有相互指针,没法范围查询b+树把数据都放叶子节点,减少树的高度,减少io详解b+树如上图,是一颗b+树,关于b+树的定义可以参见B+树,这里只说一些重点,浅蓝色的块我们称之为一个磁盘块,可以看到每个磁盘块包含几个数据

2021-06-28 11:31:33 388

原创 mysql分析explain用法

查看执行计划:id:id越大先执行select_type:查询的类型ALL、index、range、 ref、eq_ref、const、system、NULL(从左到右,性能从差到好)all:扫描全表index:索引全部扫描range:部分索引扫描,用于范围查询ref:出现于where操作符为‘=’,且where字段为非唯一索引的单表查询或联表查询。eq_ref:出现于where操作符为‘=’,且where字段为唯一索引的联表查询。const:出现于where操作符为

2021-06-28 11:30:44 94

原创 xxl-job运行

1,首先下载https://gitee.com/xuxueli0323/xxl-job 码云地址,2,配置mysql,运行xuxueli0323-xxl-job-master\xxl-job\doc\db 目录下的tables_xxl_job.sql文件3,修改xxl-job-admin项目的application.properties文件,修改mysql配置4,启动xxl-job-admin项目,http://localhost:8080/xxl-job-admin/jobl...

2021-06-28 11:29:55 407

原创 数据库锁机制

锁,很少人为操作,一般有: for update====一堆名词,一个个分析吧============================Innodb聚簇索引是给索引加锁按照锁的粒度划分:行锁、表锁、页锁,记录锁,间隙锁,临键锁、表锁:粒度大,简单,容易冲突,不会出现死锁,MyISAM和InnoDB都支持。DDL语句会自动加表锁,AlterTable 这种。也可以手动lock unlock行锁:最细粒度,锁一行或者多行数据。粒度小,麻烦(一行一行加锁),不容易冲突,会出现死锁。Inn.

2021-06-28 11:29:35 100

原创 kafka和RabbitMQ

基本概念如何实现高效使用mq主要原因:1,解耦,主要是发布订阅模式,系统间解耦2,异步,主要是串行改成并行,不需要等待,比如:发送邮件服务3,削峰,主要是突然涌入大量数据,导致数据库挂掉。可以主动去拉数据。kafka基本概念kafka主要用于,日志储存,顺序非常严格数据持久化,动态扩容,支持事务 ,消息自动平衡架构基本认识:由多个Broker组成,每个Broker是一个节点,创建一个topic,一个topic分成多个partition,每个partition分布在不同的节

2021-05-12 08:46:55 138 1

原创 xxl-job配置遇到的坑:java.net.BindException: Address already in use: bind

任务调度中心xxl-job集成到项目,步骤就不详细写了,我下载的是xxl-job-core 2.3.0版本的jar包,在百度搜索的配置xxljobconfig文件的时候给出的配置是这样的:配置完成之后启动项目,报错:Exception in thread "Thread-10" java.net.BindException: Address already in use: bind最初以为端口被占用了,排查发现不是端口问题,xxl-job在版本更新之后@bean不需要加@Bean(.

2021-05-07 08:44:14 1309 1

原创 Java面试题大汇总

前言 关于赢在面试的Java题系列基本收集整理完成了,所有题目都是经过精心挑选的,很基础又考验求职者的基本功,应该说被面试到的几率很大。这里整理挑选出来供大家面试前拿来看一看,所有题目整理自网络,有一些错误和笔误,感谢读者的热心纠错,在声明中已经改正过来。整理这些面试题源于在微信群和几个刚入职的小伙伴们的一次讨论,很多小伙伴谈了自己的面试经历和...

2019-09-20 09:21:26 176

原创 zookeeper

分布式系统协同服务工作原理:核心是原子广播,这个机制保证了各个Server之间的同步,实现这个原理的协议叫做Zab协议。简介Zab协议:有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和 leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和Server具有相同...

2019-09-17 12:25:30 109

原创 瓜子二手车面试java

快速处理大数据技术一致性哈希算法原理map原理,不安全如何解决索引原理,实现方式联合索引使用nginx平滑升级数据库分库、主从,读写保持一致单向链表,快速排序https://blog.csdn.net/u010429424/article/details/77776731快速排序思想kafka原理,组概念,topic概念,为什么要用top...

2019-09-17 12:24:49 540

原创 2019最新,大数据面试题Java面试必问

1、你处理过的最大的数据量?你是如何处理他们的?处理的结果。2、在处理大数据过程中,如何保证得到期望值?3、如何让一个网络爬虫速度更快、抽取更好的信息以及更好总结数据从而得到一干净的数据库?4、点击流数据应该是实时处理?为什么?哪部分应该实时处理?5、你最喜欢的编程语言是什么?为什么?6、如何把非结构化的数据转换成结构化的数据?这是否真的有必要做这样的转换?把数据存成平面文本文...

2019-09-17 09:05:46 869 2

原创 【面试真题】腾讯2018秋招前端正式试题(含答案)

参考答案关注公众号,回复“腾讯答案”获取01不定向多选1. 往下面的5阶B树中插入关键吗80后,该B树第二层的节点数为( )。A. 6B. 7C. 8D. 9E. 102. 设一棵完全二叉树共有1023个结点,则在该二叉树中的叶子结点数为多少?( )A. 511B. 512C....

2019-09-17 08:59:45 1568

原创 2018腾讯秋招正式笔试题目

参考答案关注公众号,回复“腾讯答案”获取不定项选择题1、以下说法正确的是( )。A. 由先序序列、中序序列可以还原出树的原貌B. 200,190,150,170,180,140,155,160,165,120是一个最大堆C. 排序之前必须把所有待排数据加载到内存D. 给定一组输入,可以输出一颗唯一的哈夫曼树2、二叉树的节点的对称序列是IEGMOBA,后...

2019-09-17 08:56:51 2973

原创 fail-fast和fail-safe

我们都接触 HashMap、ArrayList 这些集合类,这些在 java.util 包的集合类就都是快速失败的;而java.util.concurrent 包下的类都是安全失败,比如:ConcurrentHashMap。在使用迭代器对集合对象进行遍历的时候,如果 A 线程正在对集合进行遍历,此时 B 线程对集合进行修改(增加、删除、修改),或者 A 线程在遍历过程中对集合进行...

2019-09-16 15:56:13 131

原创 Vagrant批量生成虚拟机

开发CAAS需要一堆机器,有时候还需要一堆干净的机器用来测试初始化集群和基础服务,如果每次都手工安装虚拟机,很显然效率太低,于是就开始使用vagrant。一、下载需要下载:virtualboxhttps://www.virtualbox.org/ vagranthttps://www.vagrantup.com/比较坑的是下载最新版后不能正常使用,告诉我最新的vagrant1....

2019-09-16 15:54:19 416

原创 SQL注入问题

SQL注入问题 (SQL Injection)1,jdbc使用PreparedStatement,PreparedStatement已经准备好了,执行阶段只是把输入串作为数据处理2,检查是否有违法字符串3,mybatis采用#,尽量少用$,${param}和#{param}两个不同的占位符来作为示例解释Statement和PreparedStatement(mybatis...

2019-05-10 11:27:50 224

原创 京东面试经历

Jvm内存结构描述++i是否是线程安全的,为什么什么情况下,索引会失效mybatis,事物,#和$的区别,防止sql注入,struts2的原理,如何获取执行方法,漏洞原理,如何防止。spring,核心,流程rpc框架了解多少?dubbo如何通信,为什么通信快和普通http请求区别,原理是什么,其中一台服务器挂了如何执行,协调,说了zookeeper,问zookeeper...

2019-05-10 11:27:10 575

原创 常见的应用服务器

常见的应用服务器Tomcat:免费开源,轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。只实现了JSP/Servlet的相关规范,不支持EJBJboss:免费开源,作为Jav...

2019-05-10 11:26:03 15041

原创 oracle创建数据库、表空间、用户的过程

1、oracle创建数据库:使用oracle自带的工具。[开始]菜单\Oracle - OraDb11g_home1\配置和移植工具\Database Configuration Assistant然后按照提示创建即可。2、数据库创建好了,接下来用plsql登录首先打开plsql,在Username输入 “sys/任意字符as sysdba”比如sys/manager

2015-11-06 12:18:59 587

原创 单例模式

Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。一些资源管理器常常设计成单例模式。外部资源:譬如每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干个通信端口,系统应当集中管理这些通信端口,以避免一个通信端口被

2015-10-22 15:03:35 325

原创 i+1问题

int a=1;int b=a++ ==> int b=a;a=a+1;所以a=2 b=1;int c=1;int d=++c; ==> int c=c+1; int d=c;所以c=2;d=2注释:int b=a++;可以理解为两部走 首先b=a; 然后a=a+1(b=a++,就是先用a的值,然后让a自己加1)int b=++a;可以理解为 首先a

2015-08-18 17:01:49 290

原创 springmvc注解

@Repository、@Service、@Controller 和 @Component@Controller Action层第一个注解 对应MVC模式下的C,控制层,是用于注释你的action或者servlet的。@Component bo层,是一个泛化的概念,仅仅表示一个组件 (Bean) ,可以作用在任何层次。@Service service层

2015-08-18 17:00:49 275

原创 Maven库

Maven库:http://repo2.maven.org/maven2/Maven依赖查询:http://mvnrepository.com/Maven常用命令: 1. 创建Maven的普通java项目:    mvn archetype:create    -DgroupId=packageName    -DartifactId=project

2015-08-18 17:00:02 303

原创 oracle数据库创建序列,主键自动增1的代码

oracle数据库创建序列,主键自动增1的代码create sequence MENUWINDOWDEF_SEQ  minvalue 1maxvalue 999999999999start with 1increment by 1cache 20;-----------create or replace trigger TRG_MENUWINDOWD

2015-08-18 16:59:25 484

原创 启动tomcat显示8080的端口占用命令

查找占用8080的端口netstat -ano | findstr 8080杀掉8080的端口命令:taskkill   /pid  **** /f

2015-08-18 16:58:16 327

原创 关于sql语句中最后where 1=1

看似不重要的一句话其实可以省略好多代码例如String sql=" select * from student where 1=1";if (name!=null) sql+="and name like "%%"";if (age!=null) sql+="and agelike "%%"";如果没有使用where 1=1;String sql=" select ...

2015-07-02 16:47:45 361

原创 struts2通配符问题

2015-07-01 14:56:05 206

原创 向表中插入一条多个字段的数据,其中一个字段是从另一张表中获得的,其余字段是自己的

向表中插入一条多个字段的数据,其中一个字段是从另一张表中获得的,其余字段是自己的什么意思呢?例如:tableA (student, sno, age) tableB(studentname, stdentsno, studengGa,stuHH)tableA有三个字段,tableB有四个字段现在要在tableB插入一条数据,其中studentname=ta...

2015-05-15 22:40:04 4122

JSP动态网页设计基础

JSP动态网页设计基础

2014-10-03

php bbs论坛

php大作业bbs论坛 论坛哦,很好的写的

2014-06-09

ppt高级教程 模板 特绚丽

ppt高级教程 模板 特绚丽 ppt动画 ppt特效

2014-06-07

php大作业考试系统Mysql

php大作业 Mysql+php 考试系统 大作业考试系统

2014-06-07

JDK_API_1_6_zh_CN.CHM

JDK_API_1_6_zh_CN.CHM

2013-09-17

网页设计源代码

网页设计源代码,期末考试大项目 html

2013-09-17

40例java经典算法研究

40例java经典算法研究

2013-09-17

Java 程序编码规范

Java 程序编码规范

2012-12-13

java实验java实验

java实验册都包含了各种规则。一些习惯自由程序人员可能对这些规则很不适应,但是在多个开发人员共同写作的情况下,这些规则是必需的。这不仅仅是为了开发效率来考虑,而且也是为了后期维护考虑。 命名规范 定义这个规范的目的是

2012-12-13

空空如也

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

TA关注的人

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