![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
总结
javHao
这个作者很懒,什么都没留下…
展开
-
outofmemoryerror: unable to create new native thread
错误原因是创建的线程数量达到了上限解决1:linux下调调整系统参数 ulimit -a 句柄数量 echo 12000> /proc/sys/kernel/threads-max和线程数量2降低xss等参数java的线程实际使用的是操作系统的线程 这是一直被诟病的地方 利用os线程去操作线程栈等 而每一个os线程也会有自己独特的线程缓存 在堆空间中分了一部分线程缓存给每一个线程 所以xss线程缓存越小 理应线程总数就越大3调整代码 改变线程池创建使用方式...原创 2021-07-01 12:52:58 · 251 阅读 · 0 评论 -
MQ总结归纳
首先为什么要用mq1应用系统服务接耦合 通过mq把同步调用改成异步调用2实现缓存流量消峰RocketMq原创 2021-02-04 00:22:36 · 249 阅读 · 0 评论 -
Spring Security OAuth2.0
RBAC权限模型:1 基于角色2 基于资源 ---- 用得比较多加载spring容器:spring security封装了认证的过程原创 2021-01-18 23:12:04 · 93 阅读 · 0 评论 -
java面试题2021 - 1- 9总结
volatile1轻量级(因为不保证原子性)同步机制 保证可见行 不保证原子性 禁止指令重排序!2JMM(java内存模型): 规则要求 关于同步的规定 1线程解锁之前,必须吧共享变量的值刷新回驻内存 因为 速度 :硬盘《内存(主内存 硬件8g 16g...)《cpu(缓存 : 各自线程的工作线程) 可见性 : 某个线程修改了值并且写到主内存后 另外一个线程必须马上知道 马上被通知到! 2线程枷锁之前,必须读取主内存的最新值到自己的原创 2021-01-11 21:00:41 · 798 阅读 · 2 评论 -
dubbo 总结
分布式 rpc框架(远程过程调用)用来维护治理分布式系统中复杂的调用关系!archiitect注册中心 消费者 生产者 container 监控中心**消费者同步调用服务提供者!zookeeper树型目录服务 超时精确设置的优先:方法优先 接口次之 全局再次之消费者设置的优先(级别一样的情况下) 无论是time-out retries(重试 默认轮训) loadblanace actives等都是一样的规则配置多版本可以用version进行配置 实现灰度发布本地存原创 2021-01-08 10:06:08 · 84 阅读 · 0 评论 -
设计模式之我的归纳总结
算法和设计模式在大厂面试比较重要 所以归纳一下 只讲述一些比较有意义的点 其他的很多基础性知识网络上都有可维护性:修改添加代码不引入新BUG 不必花很长的时间 维护代码的工作一般会占很多 所以很重要可读性:代码可读性 评价代码质量最重要的指标之一 也会影响代码可维护性 编码规范、命名是否达意、注释是否详尽、函数是否长短合适、模块划分是否清晰、是否符合高内聚低耦合等等可扩展...原创 2020-03-14 23:15:51 · 323 阅读 · 0 评论 -
JVM面试知识归纳(持续更新)
JVM主要分三块:类加载子系统执行引擎java运行时数据区本地方法栈服务的对象是JVM执行的native方法,而虚拟机栈服务的是JVM执行的java方法栈(虚拟机栈和本地方法栈)、程序计数器是线程私有的很好理解:每个线程执行都需要记录代码执行的位置和所需要的变量已经方法调用(主要是代码的开始地址) 这样当然需要为每一个线程维护自己的栈和计数器了虚拟机栈的每个方法栈桢都包括: java...原创 2020-03-07 20:00:19 · 140 阅读 · 0 评论 -
vue归纳
vue遵循的模型是m v vm(1)v-cloak:可以解决在vue文件没加载完全之前的闪烁问题(出现{{}})(2)v-test=“msg” 作用跟插值表达式 {{}}一样好处是没有闪烁问题 因为没有申明{{}}坏处是会覆盖元素中原本的内容 插值表达式只会覆盖{{}} 其他的位置可以保留v-cloak, v-test都无法渲染data中的html(3) v-html 可以渲染d...原创 2020-02-24 22:48:57 · 145 阅读 · 0 评论 -
JUC编程归纳
主要关注concurrent atomic locks function包并发和并行是不一样的 并发主要目的是为了充分地利用单核CPU的资源 而并行是在多核CPU下的概念java线程状态 :new runnable blocked waiting(等待) time_waiting(延迟等待) terminatedwaiting:不占有锁 不占有cpu资源sleep:占有锁 不占有cpu...原创 2020-02-10 14:27:08 · 181 阅读 · 0 评论 -
nginx归纳总结
**作用默认监听80端口**(1)可以提供HTTP服务 但是仅限于静态资源 这就是跟tomcat的区别(2)虚拟主机:可以在一台服务器上虚拟出多个网站(3)方向代理 负载均衡服务器 这里需要知道反响代理是负载均衡的实现原理**虚拟主机**配置server root表示以什么为根目录 index 表示默认访问的页面 error_page 表示出现错误的时候找的...原创 2019-06-20 11:24:23 · 124 阅读 · 0 评论 -
redis归纳
首先需要介绍一下nosql数据库:1没有声明性的查询语言2没有预定义的模式3最终一致性 而非ACID属性4非结构化和不可预知的数据5CAP定理 三选二 不可能全满足6高性能,高可用性和可伸缩性**key的基本操作**redis默认有16个数据库: CONFIG GET databases; 获取某个配置项的值 DBSIZE 获取当前数据库里面有多少个数据...原创 2019-06-19 17:13:46 · 99 阅读 · 0 评论 -
SVN归纳总结
**基本操作** 检出(Checkout) 把服务器端版本库内容完整下载到本地。 在整个开发过程中只做一次。 更新(Update) 把服务器端相对于本地的新的修改下载到本地。 提交(Commit) 把本地修改上传到服务器。**基本指令操作**status svnserve 检查svn的状态(1)查看/etc/sysconfig/s...原创 2019-06-19 11:54:32 · 149 阅读 · 0 评论 -
Spring总结
**IOC**控制反转:new 对象的操作交给spring容器来使用 使用xml配置或者注解配置就可以直接注入使用: bean对象一定要有无参构造 在创建Spring容器ApplicationContext对象时候创建bean对象(默认) 调用getBean多次 也只会创建同一个bean对象 可以用FileSystemXmlApplicationCo...原创 2019-06-06 08:16:24 · 106 阅读 · 0 评论 -
eclipse mybatis配置文件提示配置
复制 “http://mybatis.org/dtd/mybatis-3-config.dtd”并且在add里面关联config.dtd配置文件mapper配置文件同理“http://mybatis.org/dtd/mybatis-3-mapper.dtd”原创 2019-04-29 22:26:35 · 282 阅读 · 0 评论 -
linux
**首先介绍一下三种网络连接方案:**1桥接模式 和物理机使用同一个局域网,在局域网上物理机和虚拟机可以互相访问。物理机和虚拟机的IP地址不能重复。2NAT模式 虚拟机和物理机不在同一个局域网内,不能被局域网内的其他主机访问。 好处1:不受物理机局域网IP网段限制; 好处2:借助网络地址转换机制通过物理机接入Internet3HostOnly 虚拟机也不在物理机所在的...原创 2019-06-18 17:29:12 · 226 阅读 · 0 评论 -
MyBatis大全总结
首先讨论一下基本的概念~:(1)MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。(2)MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。(3)MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录.(4)是半自动化...原创 2019-04-29 22:21:13 · 936 阅读 · 0 评论 -
springMVC总结
springMVC的核心就是DispatcherServlet程序,所有的请求都是先进入这个Servlet对象。 官方的图:使用:(1)准备log 和 spring的xml配置文件(2)在web.xml中配置dispatchServlet方式一:<!-- The front controller of this Spring Web application, responsi...原创 2019-06-10 16:50:02 · 321 阅读 · 0 评论 -
监听器归纳
**监听器**1 ServletContextListener 两个方法 (1)服务器启动时创建ServletContext对象时执行此方法 : 用ServletContextEvent 获取ServletContext对象 进而来获取上下文对象 可以管理项目的上下文路径 (将上下文路径放到ServletContext域中) (2)服务器停止时或卸载项目时 Serv...原创 2019-06-16 12:56:53 · 87 阅读 · 0 评论 -
zookeeper
主要作用:作为dubbo面向服务架构中服务的信息收集者 可以在其他服务需要的时候提供 例如有新的服务发布的时候 也可以在dubbo中直接使用这个服务**树形目录结构zookeeper保存数据的形式 每个节点可以有状态和值 存储数据就存在value中**ls查看某个节点下面有什么节点stat get获取状态 值 create 创建节点和值 -s含有特定序列的节点 -e临时的...原创 2019-06-20 16:17:59 · 89 阅读 · 0 评论 -
java校招我的归纳总结
**数据库**1数据库有哪些索引?原理是什么唯一索引:UNIQUE 表明此索引的每一个索引值只对应唯一的数据记录,对于单列惟一性索引,这保证单列不包含重复的值。对于多列惟一性索引,保证多个值的组合不重复。主键索引:数据库表经常有一列或列组合,其值唯一标识表中的每一行。该列称为表的主键。 在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的...原创 2019-06-11 09:56:14 · 913 阅读 · 0 评论 -
easyui常用组件归纳
作为后台系统常用的jquery超强插件设置属性方式: (1)在html控件属性中设置 (2)在js调用控件方法时以JSON格式传入 设置事件 在属性或调用控件方法时传入的JSON对象中添加“事件名:回调函数” 设置方法 $("[使用选择器选中控件]").控件名("控件方法名",[参数列表]);resizable 可以调整大小的控件 data-options:提供...原创 2019-06-23 12:13:02 · 481 阅读 · 0 评论 -
通用mapper归纳
不再需要写mapper文件 替我们生成常用的增删改查的sql语句注意:是根据pojo类生成的sql语句 默认规则是pojo类首字母小写作为表名(可以用@Table(name = )注解改名)使用前的配置:需要配置tk包下定义的MapperScannerConfigurer 写一个mapper接口 继承 Mapper 范型是你的pojo 即可!~@column注解: 默认规则是驼...原创 2019-06-24 11:57:22 · 377 阅读 · 0 评论 -
tymeleaf基础使用归纳
1 th:text="{域}" 当作标签的属性 进行 取值 2 th:each="mingcheng:${域}" th:text="mingcheng.属性名" 当作标签的属性 进行循环取值 3 th:if="${mingcheng=='...'}" 判断结果进行显示 4 th:include="页面1::页面1内的fragment" 引入页面(引...原创 2019-07-23 17:55:56 · 262 阅读 · 0 评论 -
tomcat归纳
首先要知道tomcat提供的是对jsp 和 servlet的支持 所以也叫做 Servlet容器安装以及目录1解压即可用~2目录: bin 保存tomcat程序的可执行文件 conf 保存tomcat服务器的配置文件 lib 保存tomcat运行时候需要的jar包 logs 保存tomcat运行时输出的日记 temp 保存临时的数据 webap...原创 2019-04-21 15:23:25 · 109 阅读 · 0 评论 -
数据库的隔离级别
一般数据库有三个问题:1 脏读:读取还未被提交的数据(此问题不可以忍耐)2不可重复读:T1读取了一个字段后 T2更新了该字段并提交 T1再次读取该字段 值会不同(此问题勉强可以忍耐,因为数据永久生效了)3 幻读:T1从一个表中读取一个字段后 T2在该表中插入了一些新的行 后 T1再次读取同一个表 会发现多出几行(此问题勉强可以忍耐,因为数据永久生效了)数据库为了解决这三个问题提供了四种隔离...原创 2019-04-20 16:20:44 · 87 阅读 · 0 评论 -
预编译sql
当我们发送一条语句到数据库后,会发成 解析->优化->执行的 过程:一般数据库内存分为:1库缓冲区:用于存放sql语句,如果某条sql语句不经常改动就会放入内存中的库缓冲区中,下一次执行相同语句(连大小写都要一样才算做一样的~)的时候直接从内存中获取对应语句执行 注意:用占位符的很多语句算是不经常修改的 例如:insert into table1 values(1,sss)...原创 2019-04-20 15:18:10 · 533 阅读 · 0 评论 -
JDBC总结
首先介绍下JDBC是java写的,跟数据库建立Socket连接,采用具体网络协议把JDBC转换为直接的网络调用最基本的JDBC使用1获取驱动 Driver driver = new OracleDriver();2获取连接 Connection conn = driver.connect(url,info) url是连接地址 info用户名密码是properties类型...原创 2019-04-16 23:28:34 · 183 阅读 · 0 评论 -
文件的上传和下载归纳(包括乱码及浏览器问题)
文件上传的标配就是下图:1如果我们使用Servlet:设置了如上的属性后再在Servlet里面使用request getParameter就拿不到任何内容了~ 因为在文件上传的时候 浏览器会收集所有的表单项的信息并且以二进制流的形式提交给服务器,所以服务器要用流的形式进行接受方式1: (1)用 request.getInputStream接受数据 接受后的是二进制数据 需要进行解析 ...原创 2019-04-25 22:29:05 · 276 阅读 · 0 评论 -
Http协议内容
HTTP协议请求的内容:GET1请求行:(1)请求的方式GET (2)请求的资源路径 (3)请求的协议和版本HTTP/1.12请求头:POST: 1请求行: (1)请求的方式POST (2)请求的资源路径 (3)请求的协议和版本HTTP/1.1 2请求头 空格 3请求体:客户端提交的数据所以一般有哪些是get请求哪些是post请求呢:Get:1for...原创 2019-04-21 18:08:04 · 449 阅读 · 0 评论 -
Servlet总结
首先要知道javaWeb三大组件(Servlet程序 Listener监听器 Filter过滤器 都配置在web.xml文件下)生命周期:1先执行Servlet的构造方法2执行Servlet程序的init初始化方法以上两个方法是在第一次访问的时候由tomcat服务器来调用的~ 只调用一次3执行Service方法:接受客户端请求 并且响应数据 每次请求进来的时候处理业务(每次访问都会调用~...原创 2019-04-21 17:34:03 · 208 阅读 · 0 评论 -
eclipse dynamic project动态工程目录结构
src:存放java源文件JRE System Library :JavaSE的类库Apache Tomcat :javaEE(javaWeb)的类库build:src源码翻译成为.class字节码后存放的目录WebContent:存放html css js jsp等文件WEB-INF:该目录是一个受服务器保护的目录,里面的资源是不可以通过浏览器直接访问的只能通过服务器代码间接访问 例如...原创 2019-04-21 15:52:18 · 1251 阅读 · 0 评论 -
dom4j解析xml
1利用SaxReader对象读取xml文件 创建Document对象2document.getRootElement(); 返回根元素对象 root3 root 的elements(标签名)获取子元素 返回一个Element的LIst4遍历每一个Element...原创 2019-04-21 11:39:25 · 87 阅读 · 0 评论 -
在父接口中获取子类实现类实现父接口时所携带的泛型类型
可以在父类的无参构造器中写:Type type = this.getClass().getGenericSuperclass(); //Type是一切类型的父类型 此代码可以后去带泛型的父类类型ParameterizedType t = (ParameterizedType) type ; //获取参数化类型Type[] types = t.getActualTypeArguments(...原创 2019-04-20 22:39:58 · 771 阅读 · 0 评论 -
DBUtils的使用
1首先导入jar包2增删改1创建QueryRunner对象 (不考虑事务的话可以直接传入连接池对象)2需要Connection对象(考虑事务的情况下),sql语句,参数3关闭自己传入的连接3查询1调用queryRunner对象的query方法 传入Connection对象 sql ResultSetHandler对象 参数 注意的点在于ResultSetHandler对象 (...原创 2019-04-20 17:15:10 · 157 阅读 · 0 评论 -
数据库连接池
DBCP数据库连接池C3P0数据库连接池首先说说DBCP:方式一:1创建BasicDataSource 对象并设置相对应的url username...2设置initialsize maxActive等参数3返回Connection 对象方式二:1利用BasicDataSourceFactory.createDataSource(properties)从properties配置文...原创 2019-04-20 16:52:46 · 104 阅读 · 0 评论 -
mysql数据库大全总结
DML数据操纵语言:查询和修改数据记录(INSERT UPDATE DELETE SELECT)DDL数据定义语言:定义数据库的结构(CREATE ALTER DROP )DCL数据控制语言:控制数据库的访问(GRANT REVOKE COMMIT ROLLBACK SAVEPOINT LOCK)SELECT:选择全部数据select * from table1; 别名:空格➕名字 ...原创 2019-04-15 23:29:49 · 293 阅读 · 0 评论 -
Servlet乱码问题
GET请求中文乱码:因为客户端发送的数据会进行UTF-8编码操作 然后发送到服务器后又进行iso-8859-1解码 所以会造成中文的乱码解决方法1:1用iso-8859-1进行编码 getBytes()2然后用utf-8进行解码 new String( , "UTF-8")解决方法2:在server.xml中添加URIEncodingPOSt请求中文乱码:解决方法1:1用i...原创 2019-04-22 11:12:06 · 143 阅读 · 0 评论 -
BASE标签的作用
因为在转发的时候客户端地址栏是不会改变的 而我们使用的相对地址又是根据浏览器地址栏中的地址进行跳转的 所以此时调用的相对地址很可能会出错,此时就需要BASE标签了base标签可以设置页面中相对路径的参数的基准路径,有了base标签后 页面的相对路径就不会再参照浏览器地址栏了...原创 2019-04-22 11:34:14 · 254 阅读 · 0 评论 -
javaweb三大组件归纳
三大组件:Servlet程序 Filter过滤器 listener监听器监听器1 ServletContextListener:监听ServletContext对象的创建和销毁 编写一个类实现ServletContext接口 实现监听器的回调方法contextInitialized 和 contextDestroyed方法 web.xml中配置这个监听器 <listen...原创 2019-04-24 16:53:37 · 443 阅读 · 0 评论 -
JSON和Ajax归纳
**json的定义**json是由花括号组成,然后里面都是键值对。并且每个键都由引号引起来。键和值之间使用冒号进行分隔。那么每组键值对之间使用逗号分隔。var json = {“key” : value ,“key2” : value2};值可以是string,number,数组类型,json对象。json数组。var jsonObj = { "key1" : 12,...原创 2019-04-28 23:45:55 · 173 阅读 · 0 评论