自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tianSir的博客

Stay hungry,Stay foolish

  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 解决 java.lang.OutOfMemoryError: unable to create new native thread

出现场景最近在部署一个省的项目时,遇到这个问题,该环境提供的服务器配置偏低,而项目本身为了性能,大量的使用的线程,导出出现 java.lang.OutOfMemoryError: unable to create new native thread异常异常分析这个异常问题本质原因是我们创建了太多的线程,而能创建的线程数是有限制的,导致了异常的发生。能创建的线程数的具体计算公式如下:(Ma...

2019-01-14 17:29:17 75823 7

原创 Java 8 新特性

☕️ Java 8 新特性Java 并没有没落,人们很快就会发现这一点1. 允许在接口中有默认方法实现Java 8 允许我们使用default关键字,为接口声明添加非抽象的方法实现。这个特性又被称为扩展方法。下面是我们的第一个例子:interface Formula { double calculate(int a); default double sqrt(int...

2019-01-08 17:27:00 575

原创 lambda 表达式使用例子

Java 8 的发布,尤其是 lambda 表达式和流 API。当你越来越多的了解它们,就能写出更干净的代码。虽然一开始并不是这样。第一次看到用 lambda 表达式写出来的 Java 代码时,对这种神秘的语法感到非常失望,认为它们把Java搞得不可读,但我错了。花了一天时间做了一些 lambda 表达式和流API示例的练习后,我开心的看到了更清晰的 Java 代码。所以不要抵触 lambda 表达式以及方法引用的神秘语法,多做几次练习,从集合类中提取、过滤数据之后,你肯定会喜欢上它。

2019-01-05 14:41:25 926

原创 数据结构和算法 - 希尔排序

问题抛出插入排序存在的问题数组 arr = {2,3,4,5,6,1},这时需要插入的数 1 ,这样的插入过程是{2,3,4,5,6,6}{2,3,4,5,5,6}{2,3,4,4,5,6}{2,3,3,4,5,6}{2,2,3,4,5,6}{1,2,3,4,5,6}结论:当需要插入的数是较小的时候,后移次数明显增多,影响效率。问题解决希尔排序是希尔在1959年提出的一种排序算法。希尔排序是一种比简单插入排序更高效的插入排序,也称缩小增量排序基本介绍希尔排序是把数组按照增量分组

2020-07-31 11:19:53 457

原创 数据结构和算法 - 选择排序

基本介绍首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。核心思想找到序列最小值,然后放到已排序序列的末尾时间复杂度排序法平均时间最差情形稳定度额外空间备注选择O(n2n^{2}n2)O(n2n^{2}n2)不稳定O(1)n较小时较好动画演示代码思路使用 2 层 for 循环实现,外层 for 循环表示已排序序列,从 i = 0 开始,

2020-07-31 10:39:19 165

原创 数据结构和算法 - 插入排序

基本介绍把 n 个待排序的元素看成一个有序表和一个无序表,开始时有序表只有一个值,无序表有 n-1 个值,每次排序从无序表取出元素与有序表进行比对,插入适当位置成为新的有序表。核心思想把 n 个待排序的元素看成一个有序表和一个无序表,从无序列表取数据与有序列表对比并插入合适的位置时间复杂度排序法平均时间最差情形稳定度额外空间备注冒泡O(n2n^{2}n2)O(n2n^{2}n2)稳定O(1)大部分排好序时较好动画演示代码思路使用 for 循环变量

2020-07-30 17:54:24 235

原创 数据结构和算法 - 冒泡排序

思路通过对待排序的序列从前往后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使较大的元素逐渐从前移向后部核心思想依次比较相邻元素的值,若发现逆序则交换代码实现/** * @author tianhuiwen * @date 2020/7/16 14:44 */public class BubbleSort { public static void main(String[] args) { int[] array = {3, 9, -1, 10

2020-07-30 16:56:15 216

原创 Xshell动态代理的使用

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-12-17 10:38:44 931

原创 MyBatis 核心对象

核心对象一、核心接口和类每个MyBatis的应用程序都以一个SqlSessionFactory对象的实例为核心。首先获取SqlSessionFactoryBuilder对象,根据xml文件或Configuration类的实例构建该对象。获取SqlSessionFactory对象,通过SqlSessionFactoryBuilder对象获取。通过SqlSessionFactory获取Sq...

2019-07-26 10:35:27 390

原创 tomcat 基本配置

tomcat目录结构 /bin:脚本文件目录。 /common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载)。 /conf:存放配置文件,最重要的是server.xml。 /logs:存放日志文件。 /server/webapps:来管理Tomcat-web服务用的。仅对TOMCAT可见,对所有的WEB APP都不可见(使用Catalina类加载器...

2019-07-24 15:08:37 156

原创 IDEA 版本管理

版本管理颜色绿色:已经加入控制暂未提交红色:未加入版本控制蓝色:以加入,提交,有改动白色:以加入,提交,无改动灰色:版本控制已忽视改文件CompareCompare with the Same Repository Version,与仓库相同版本做对比;Compare with Latest Repository Version,与 仓库最新版本做对比Compare with…...

2018-12-26 22:24:48 529

原创 IDEA 快捷键

重命令: shift+f6;变量名代码提示: alt+ctrl+v调到指定行:ctrl+g;调出项目设置面板:ctrl+shift+alt+s移动行ctrl+shift+方向上下;自动加;ctrl+shift+enter;全局查找:ctrl+shift+f;标记行号:ctrl+shift+1编辑区全屏:ctrl+shift+f12快速跳转:ctrl+1退回、前进到上一个操作的地...

2018-12-26 22:22:09 161

原创 ArrayList 与 LinkedList 的区别和适用场景

1. Arraylist:优点:ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。缺点:因为地址连续, ArrayList要移动数据,所以插入和删除操作效率比较低。2. LinkedList:优点:LinkedList基于链表的数据结构,地址是任意的,所以在开辟内存空间的时候不需要等一个连续的地址,对于新增和...

2018-12-26 22:18:13 975

原创 Elasticsearch 与 mysql 关系对比

以员工文档 的形式存储为例:一个文档代表一个员工数据。存储数据到 ElasticSearch 的行为叫做索引,但在索引一个文档之前,需要确定将文档存储在哪里。一个 ElasticSearch 集群可以包含多个 索引,相应的每个索引可以包含多个类型 。 这些不同的类型存储着多个文档 ,每个文档又有多个属性 。类似关系:索引----数据库类型----表文档----表中的记录属性----列...

2018-12-25 18:37:43 2456

原创 IDEA 撤销 commit

日常工作中会遇到 commit 到本地仓库的代码,因为一些原因,需要撤销后在提交到本地,或者需要整合多次 commit ,然后 push 到远程仓库。下面是Ideal支持的快捷方式。Undo Commit2.可以在 Version Control 查看到刚刚撤销的内容此时,就可以从新 commit 代码了...

2018-12-20 17:10:41 49317 11

原创 Nginx配置与使用

简介Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。应用场景http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。虚拟主机。可以实现在一台服务器虚拟出多...

2018-12-15 21:12:16 147

原创 SpringMVC参数绑定

1. 绑定简单数据类型1.1 需求编辑商品信息,需要根据商品id查询商品信息,然后展示到页面。 请求的url:/itemEdit.action 参数:id(商品id) 响应结果:商品编辑页面,展示商品详细信息。1.2 Controller参数绑定要根据id查询商品数据,需要从请求的参数中把请求的id取出来。Id应该包含在Request对象中。可以从Request对象中取id。...

2018-07-31 23:28:37 142

原创 Mybatis关联查询

1.商品订单数据模型2.一对一查询案例:查询所有订单信息,关联查询下单用户信息。注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询。如果从用户信息出发查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单。方法一:使用resultType,定义订单信息po类,此po类中包括了订单信息和用户信息:1.Sql语句:...

2018-07-28 16:19:41 246

原创 Mybatis动态sql

1.if(多条件动态sql)<!-- 传递pojo综合查询用户信息 --> <select id="findUserList" parameterType="user" resultType="user"> select * from user where 1=1

2018-07-28 15:50:47 218

原创 Mybatis输入和输出映射

输入映射和输出映射Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心。 parameterType(输入类型)1.传递基本数据类型:int,string,long,Date;{参数} 获取参数中的值<!-- 根据id获取用户信息 --><select id="findU

2018-07-28 12:46:03 359

转载 漫画:什么是微服务?

单体架构的痛点 缺点一:项目过于臃肿当大大小小的功能模块都集中在同一项目的时候,整个项目必然会变得臃肿,让开发者难以维护。 缺点二:资源无法隔离就像刚刚小灰的经历一样,整个单体系统的各个功能模块都依赖于同样的数据库、内存等资源,一旦某个功能模块对资源使用不当,整个系统都会被拖垮。 缺点三:无法灵活扩展当系统的访问量越来越大的时候,单体系统固然可以进行水平扩展,部署...

2018-07-18 15:12:53 193

原创 Mybatis基础学习

Mybatis架构mybatis配置 SqlMapConfig.xml ,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。 mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。通过mybatis环境等配置信息构造SqlSessionFactory即会话工厂。由会话工厂创建...

2018-07-14 19:42:20 655

原创 Linux基础命令(下)

Vi和Vim编辑器Vim编辑器在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件。三种模式:命令行、插入、底行模式。切换到命令行模式:按Esc键;切换到插入模式:按 i 、o、a键; i 在当前位置生前插入 I 在当前行首插入 a 在当前位置后插入 A 在当前行尾插入 o 在当前行之后插入一行 O 在当前...

2018-07-14 15:47:34 606

原创 Linux 基础命令(上)

Linux的概述什么是Linux Linux是基于Unix的Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机诞生于1991 年10 月5 日。是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成。Linux的目录结构 ...

2018-07-14 12:30:13 1159

原创 CSDN-markdown编辑器语法参照

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...

2018-07-13 22:39:13 218

原创 maven使用介绍与使用

Maven简介什么是Maven Maven是apache下的开源项目,项目管理工具,管理java项目。1、项目对象模型 (Project Object Model) POM对象模型,每个maven工程中都有一个pom.xml文件,定义工程所依赖的jar包、本工程的坐标、打包运行方式。2、依赖管理系统(基础核心 ) maven通过坐标对项目工程所依赖的jar包统一规范管理。3...

2018-07-13 22:30:26 741 1

原创 Log4j详细配置与使用介绍

Log4j基础通常,我们都提供一个名为 log4j.properties的文件,在第一次调用到Log4J时,Log4J会在类路径(../web-inf/class/当然也可以放到其它任何目录,只要该目录被包含到类路径中即可)中定位这个文件,并读入这个文件完成的配置。这个配置文件告诉Log4J以什么样的格式、把什么样的信息、输出到什么地方。Log4j有三个主要的组件:Loggers(记录器)...

2018-07-13 18:09:31 1467

Linux.docx

linux简介和使用的整理和说明,包括VM的安装,VI,VIM的介绍,网络配置,远程登录,常用的基本命令

2020-08-04

空空如也

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

TA关注的人

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