自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

荣华的博客

Java开发

  • 博客(74)
  • 收藏
  • 关注

原创 java中如何高效遍历Map集合

1. 前言【推荐】使用entrySet遍历Map类集合KV,而不是keySet方式进行遍历。 说明:keySet其实是遍历了2次,一次是转为Iterator对象,另一次是从hashMap中取出key所对应的value。而entrySet只是遍历了一次就把key和value都放到了entry中,效率更高。2.map集合遍历的几种方式foreachKeyset 遍历//根据 key...

2019-11-06 16:58:50 1747

原创 高并发常见的面试题

1. 什么是进程进程是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间)。比如用户点击桌面的IE浏览器,就启动了一个进程,操作系统就会为该进程分配独立的地址空间。当用户再次点击左边的IE浏览器,又启动了一个进程,操作系统将为新的进程分配新的独立的地址空间。目前操作系统都支持多进程。2. 什么是线程进程是表示自愿分配的基本单位。而线程则是进程中执行运算的最小单位,即执行处理机调...

2019-10-16 15:29:10 1470

原创 mysql中Prepare、execute、deallocate的使用方法

mysql中Prepare、execute、deallocate的使用方法PREPARE语句准备好一条SQL语句,并分配给这条SQL语句一个名字供之后调用。准备好的SQL语句通过EXECUTE命令执行,通过DEALLOCATE PREPARE命令释放掉。语句的名字不区分大小写。准备好的SQL语句名字可以是字符串,也可以是用户指定的包含SQL文本的变量。PREPARE中的SQL文本必须代表一条单...

2019-08-08 14:59:34 9763

原创 编写多线程程序有几种实现方式?

(1)继承Thread类,重写run函数创建:class xx extends Thread{public void run(){Thread.sleep(1000) //线程休眠1000毫秒,sleep使线程进入Block状态,并释放资源}}开启线程:对象.start() //启动线程,run函数运行(2)实现Runnable接口,重写run函数开启线程:Threa...

2019-06-22 23:20:49 2056

原创 SpringBoot常用注解

SpringBoot常用注解@RestController 控制器注解@Cotroller、@ResponseBody、@RestController区别 Cotroller注解,请求解析成跳转路径不是json ResponseBody注解,Cotroller注解的请求就会被解析成json,常用在方法中。 RestControlle注解会把请求直接解析成json RestControlle=C...

2019-06-22 23:20:07 198

原创 提高Mysql的查询效率

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from ...

2019-02-21 17:04:17 167

原创 easyui自定义树形表格

数据树形显示public List<Map<String, Object>> getMenus() throws Exception { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); //查出表数据 List&l...

2019-02-21 17:01:29 613

原创 MySQL常用函数

1、字符串函数strcmp(str1,str2)用于比较两个字符串的大小。左大于右时返回1,左等于右时返回0,,左小于于右时返回-1length(str)用于获取字符串字节长度(返回字节数,因此要注意字符集)char_length(str)用于获取字符串长度trim()去除字符串str两边的空格rand()返回0-1内的随机数round(x,y)返回数值x带有y为小数结果的...

2019-02-21 16:57:46 183

原创 Spring框架七大模块

Spring框架七大模块:1. Spring Core(核心容器): Core封装包是框架的最基础部分,提供IOC和依赖注入特性。Spring以bean的方式组织和管理Java应用中的各个组件及其关系。Spring使用BeanFactory来产生和管理Bean,它是工厂模式的实现。BeanFactory使用控制反转(IoC)模式将应用的配置和依赖性规范与实际的应用程序代码分开。2.Sp...

2018-10-15 21:44:17 319

原创 Java常用八大排序算法

Java常用的八种排序算法1.直接插入排序直接插入排序(Straight Insertion Sorting)的基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。首先设定插入次数,即循环次数,for(inti=1;i<length;i++),1个数...

2018-10-10 22:28:46 172

原创 异常处理

什么是异常异常定义: 导致程序的正常流程被中断的事件,叫做异常例如:比如要打开d盘的LOL.exe文件,这个文件是有可能不存在的Java中通过 new FileInputStream(f) 试图打开某文件,就有可能抛出文件不存在异常FileNotFoundException如果不处理该异常,就会有编译错误处理办法参见 异常处理package exception; import ...

2018-09-19 21:44:32 202

原创 面向对象的"六原则一法则"。

- 单一职责原则:一个类只做它该做的事情。(单一职责原则想表达的就是"高内聚",写代码最终极的原则只有六个字"高内聚、低耦合",就如同葵花宝典或辟邪剑谱的中心思想就八个字"欲练此功必先自宫",所谓的高内聚就是一个代码模块只完成一项功能,在面向对象中,如果只让一个类完成它该做的事,而不涉及与它无关的领域就是践行了高内聚的原则,这个类就只有单一职责。我们都知道一句话叫"因为专注,所以专业",一个对...

2018-09-10 22:09:47 144

原创 什么是DAO模式?

DAO(Data Access Object)顾名思义是一个为数据库或其他持久化机制提供了抽象接口的对象,在不暴露底层持久化方案实现细节的前提下提供了各种数据访问操作。在实际的开发中,应该将所有对数据源的访问操作进行抽象化后封装在一个公共API中。用程序设计语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接...

2018-09-10 21:58:17 15568

原创 在进行数据库编程时,连接池有什么作用?

由于创建连接和释放连接都有很大的开销(尤其是数据库服务器不在本地时,每次建立连接都需要进行TCP的三次握手,释放连接需要进行TCP四次握手,造成的开销是不可忽视的),为了提升系统访问数据库的性能,可以事先创建若干连接置于连接池中,需要时直接从连接池获取,使用结束时归还连接池而不必关闭连接,从而避免频繁创建和释放连接所造成的开销,这是典型的用空间换取时间的策略(浪费了空间存储连接,但节省了创建和释放...

2018-09-10 21:54:34 1210

原创 Statement和PreparedStatement有什么区别?

与Statement相比:①PreparedStatement接口代表预编译的语句,它主要的优势在于可以减少SQL的编译错误并增加SQL的安全性(减少SQL注射攻击的可能性);②PreparedStatement中的SQL语句是可以带参数的,避免了用字符串连接拼接SQL语句的麻烦和不安全;③当批量处理SQL或频繁执行相同的查询时,PreparedStatement有明显的性能上的优势,...

2018-09-10 21:51:54 333

原创 JDBC操作数据库的步骤

下面的代码以连接本机的Oracle数据库为例,演示JDBC操作数据库的步骤。加载驱动。Class.forName("oracle.jdbc.driver.OracleDriver");创建连接。Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "t...

2018-09-10 21:47:38 128

原创 线程同步以及线程调度相关的方法

- wait():使一个线程处于等待(阻塞)状态,并且释放所持有的对象的锁; - sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要处理InterruptedException异常; - notify():唤醒一个处于等待状态的线程,当然在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且与优先级无关; - notit...

2018-09-03 22:20:58 1984

原创 线程的sleep()方法和yield()方法有什么区别?

① sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会;yield()方法只会给相同优先级或更高优先级的线程以运行的机会; ② 线程执行sleep()方法后转入阻塞(blocked)状态,而执行yield()方法后转入就绪(ready)状态; ③ sleep()方法声明抛出InterruptedException,而yield()方法没有声明任何异...

2018-09-03 22:12:54 294

原创 Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?

sleep()方法(休眠)是线程类(Thread)的静态方法,调用此方法会让当前线程暂停执行指定的时间,将执行机会(CPU)让给其他线程,但是对象的锁依然保持,因此休眠时间结束后会自动恢复(线程回到就绪状态)。wait()是Object类的方法,调用对象的wait()方法导致当前线程放弃对象的锁(线程暂停执行),进入对象的等待池(wait pool),只有调用对象的notify()方法(或no...

2018-09-03 22:07:36 1038

原创 TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?

       TreeSet要求存放的对象所属的类必须实现Comparable接口,该接口提供了比较元素的compareTo()方法,当插入元素时会回调该方法比较元素的大小。       TreeMap要求存放的键值对映射的键必须实现Comparable接口从而根据键对元素进行排序。       Collections工具类的sort方法有两种重载的形式,第一种要求传入的待排序容器中存放的...

2018-09-03 22:04:22 752

原创 List、Map、Set三个接口存取元素时,各有什么特点?

List以特定索引来存取元素,可以有重复元素。Set不能存放重复元素(用对象的equals()方法来区分元素是否重复)。Map保存键值对(key-value pair)映射,映射关系可以是一对一或多对一。Set和Map容器都有基于哈希存储和排序树的两种实现版本,基于哈希存储的版本理论存取时间复杂度为O(1),而基于排序树版本的实现在插入或删除元素时会按照元素或元素的键(key)构成排序...

2018-09-03 21:56:11 1711

原创 ArrayList、Vector、LinkedList的存储性能和特性

       ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector中的方法由于添加了synchronized修饰,因此Vector是线程安全的容器,但性能上较ArrayList差,因此已经是Java中的遗留容器。       ...

2018-09-03 21:53:11 2881

原创 final、finally、finalize的区别。

- final:修饰符(关键字)有三种用法:        如果一个类被声明为final,意味着它不能再派生出新的子类,即不能被继承,因此它和abstract是反义词。        将变量声明为final,可以保证它们在使用中不被改变,被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取不可修改。        被声明为final的方法也同样只能使用,不能在子类中被...

2018-09-03 21:49:28 87

原创 Java常见的运行时异常

- ArithmeticException(算术异常) - ClassCastException (类转换异常) - IllegalArgumentException (非法参数异常) - IndexOutOfBoundsException (下标越界异常) - NullPointerException (空指针异常) - SecurityException (安全异常)...

2018-09-03 21:46:55 1300

原创 Java异常处理

Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用?           Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。          在Java中,每个异常都是一个对象,它是Throwable类或其子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象...

2018-09-03 21:45:12 131

原创 Cookie和Session详解

Cookie和Session详解会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。1.1 Cookie机制在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有...

2018-08-24 23:03:20 107

原创 注解与配置方式访问Servlet

访问路径 http:// localhost: 8080 /servlet_t1 /test.do 协议 主机地址 tomcat端口号 项目名 访问路径 jdbc:mysql:// localhost: 3306 /db1804 - 最后的访问路径: - 1. @WebServlet(“/test.d...

2018-08-23 22:03:50 3012

原创 JSP基础语法

JSP简介JSP全名为Java Server Pages(Java服务器端页面),其根本是一个简化的servlet设计,他实现了在Java当中使用HTML标签。JSP是一种动态的网页技术标准也是JavaEE的标准。JSP和Servlet一样,也是在服务器端运行的。JSP页面元素构成一、指令page指令,一个jsp页面可以有多个page指令,他有3个最重要的属性 语法...

2018-08-23 22:02:32 114

原创 JavaWeb应用程序简介

1.什么是Web应用程序Web应用程序是一种可以通过Web访问的应用程序(淘宝、京东、新浪),易访问,用户只需要有浏览器即可,不需要安装其他软件。2.为什么要学习Web应用程序是目前软件开发领域的三大方向之一 桌面应用程序–QQ,Office C/S结构:Client/ServerWeb应用程序–京东、天猫 B/S结构:Browser/Server嵌入式应用程序–...

2018-08-23 21:59:48 6314

原创 JavaScript DOM

JavaScript DOM通过HTML DOM 可以访问JavaScript文档的所有元素当页面被加载时,浏览器会创建页面的文档对象:documentJavaScript能改变页面中的HTML元素、HTML属性、CSS样式、对页面中的事件做出反应查找HTML元素要想操作HTML元素,那么就得先找到该元素,通常我们有4种方法来做这件事,通过调用document的4个方法...

2018-08-23 21:50:28 124

原创 JavaScript函数

函数的声明function functionName(parameters) { code; code2;}无参无返回值的函数function hello(){ alert("Hello World");}有参无返回值的函数 <script type="text/javascript"> function a...

2018-08-23 21:49:56 118

原创 JavaScript的RegExp对象

一、JavaScript的RegExp对象一、RegExp对象(regular expression)正则表达式是描述字符模式的对象正则表达式用于对字符串模式匹配及检索替换,强大工具二、语法var patt=new RegExp(pattern,modifiers);// 或者更简单的方式:var patt=/pattern/modifiers;pa...

2018-08-23 21:48:10 129

原创 JavaScript定时任务&计时事件

JavaScript定时任务&计时事件通过JavaScript,我们可以设定时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为定时任务或计时事件关键方法有2个,他们都是window对象的方法 setInterval() 间隔指定的毫秒数不停地执行指定的代码setTimeout() 在指定的毫秒数后执行指定代码setInterval() 方法作用:间...

2018-08-23 21:44:16 5418

原创 JavaScript语法

JavaScript代码书写位置JS代码可以放在标签中标签可以放在HTML的head中,也可以放在body中。我们也可以在外部新建一个以.js结尾的JS文件,将JS代码写在其中,然后在HTML的head中用将JS代码引用进来注意:js文件中,不用function hello () { alert("Hello JavaScript");}HTML文件代码&...

2018-08-20 21:56:06 133

原创 JavaScript概况

JavaScript概况JavaScript是什么?JavaScript是互联网上最流行的脚本语言,是一种轻量级的编程语言是可插入到HTML页面中的编程代码JavaScript插入HTML页面后,可由所有的浏览器执行综上:JavaScript是Web的编程语言JavaScript能做什么?HTML 定义了网页的内容CSS 描述了网页的布局和显示JavaSc...

2018-08-20 21:54:39 110

原创 CSS定位、浮动、对齐

定位 position元素可以使用 top right bottom left属性定位,但是都要先设定position类型,否则不能正常工作position属性指定了元素的定位类型:static fixed relative absolutestatic 静态定位这是HTML元素的默认值,元素出现在正常的流中,static定位不会受到上下左右的影响fixed...

2018-08-20 21:53:34 2031

原创 显示display 与 可见性visibility

显示 Displaydisplay属性用于设置一个元素该如何显示display属性有以下4个: none 隐藏元素,元素不占任何空间block 将元素以块元素的方式显示inline 将元素以内联元素的方式显示inline-block 将元素以内联块元素,表现为同行显示并可修改宽 高 内外边距等属性,如我们常将ul显示为display:inline-block,原本垂直的列表就可以水...

2018-08-20 21:51:46 511

原创 CSS表格table

表格table表格边框 border表格的边框属性同CSS盒子模型的属性表格的th/td都有独立的边框,表格也默认有一个边框,所有默认的表格有双边框如果要让表格折叠为一个单一的边框或隔开(默认),可以使用border-collapse属性border-collapse:collapse; 折叠border-collapse:separate; 隔开表格文字对齐...

2018-08-20 21:50:57 159

原创 CSS盒子模型

CSS盒子模型所有HTML元素都可以看作一个盒子从内到外包括:实际内容(Content)、内边距(Padding)、边框(Border)、外边距(Margin)Content内容:盒子的内容,显示文本和图像,我们平时设置HTML元素的宽度和高度时,实际上只是设置了Content的宽度和高度Padding内边距:内容和边框之间的距离,是透明的Border边框:边框我们经常设置他的样式、...

2018-08-20 21:50:19 146

原创 常见CSS操作,背景、文本、字体、链接link、列表list

背景background用于定义html元素的背景,属性都是以background-开头背景颜色 background-color颜色有3种表现方式: 十六进制: “#ff0000”RGB : “rgb(255,20,20)”颜色名称 :”red”背景图片:background-image注意图片路径background-image: url(...

2018-08-20 21:49:46 213

空空如也

空空如也

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

TA关注的人

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