- 博客(49)
- 收藏
- 关注
原创 Stream和迭代器的区别
迭代器 迭代器,提供一种访问一个集合对象各个元素的途径,同时又不需要暴露该对象的内部细节。java通过提供Iterator和Iterable俩个接口来实现集合类的可迭代性,迭代器主要的用法是:首先用hasNext()作为循环条件,再用next()方法得到每一个元素,最后在进行相关的操作栗子: public static void main(String[] args) { ...
2019-08-27 21:22:18
360
转载 linux命令,如何根据关键字查询,如何替换某个关键字,vi中如何复制
如何根据关键字查询如果是在文件的外面grep -rl 关键字 目录例子:查找/demo下面所有含有hello的文件。grep -rl ‘hello’ /demor:递归目录与子目录查找l:只列出文件名如果实在没有打开文件的前提下就用"cat 文件名 | grep “关键字” "如果是用vi打开文件后,在命令行下输入“: /关键字” 按n会跳到下一个 , 按N会跳到上一个...
2019-08-27 20:14:38
1385
1
原创 HashMap和HashTable的区别
HashMap 几乎可以等价于 HashTable(hashmap是hashtable的轻量级实现),除了 HashMap 是非 synchronized 的。主要的区别:继承的父类不同Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。hashtable源码片段:public class Hashtable<K,V> ext...
2019-08-19 21:39:41
184
原创 Linux下安装mysql
下载官网下载官网地址wget直接下载wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz安装1.将安装包移动到/usr/local下 mv mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz /usr/local/...
2019-08-14 22:06:07
227
原创 数组去重复的方法
数组去重的几种方法:方法一:list集合 只需要创建一个集合,然后遍历数组逐一放入集合,只要在放入之前用contains()方法判断一下集合中是否已经存在这个元素就行了,然后用toArray转成数组一切搞定。 public static void ifRepeatList(Object[] arr) { //创建一个集合 List list = new Ar...
2019-08-09 21:04:44
3564
原创 lambda和stream
lambda表达式Java8引入了lambda表达式,在其他语言中,比如python、swift都支持lambda表达式,这个特性用起来也非常方便和简洁。先来看lambda表达式的语法:() -> {}() : 括号就是接口方法的括号,接口方法如果有参数,也需要写参数。只有一个参数时,括号可以省略。-> : 分割形参列表与函数体的。{} : 如果代码体只有一行代码就可以省...
2019-06-27 11:47:46
3376
原创 POI如何导出百万数据
Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。当有大量数据要导入或者导出符合Office Open XML(OOXML)标准和微软的OLE 2复合文档...
2019-06-18 10:15:26
696
原创 SPA应用的优缺点
定义 单页 Web 应用 (single-page application 简称为 SPA) 是一种特殊的 Web 应用。它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML、JavaScript 和 CSS。一旦页面加载完成了,SPA不会因为用户的操作而进行页面的重新加载或跳转。取而代之的是利用 JavaScript 动态的变换HTML的内容,从而实现UI与用户的...
2019-05-27 22:12:39
4152
1
原创 IDEAJ启动Tomcat控制台中文乱码问题
idea启动tomcat中文乱码解决方法第一次使用idea启动Tomcat的时候控制台可能出现中文乱码的问题解决方法如下1.设置项目编码为UTF-82.打开idea安装目录的bin目录下进入bin目录找到idea.exe.vmoptions和idea64.exe.vmoptions文件在这两个文件里面加上如下代码-Dfile.encoding=UTF-8在idaeatom...
2019-05-19 15:53:26
328
原创 Git-01-安装及基本操作
Git简介 Git(全局信息追踪器)。 Git是一个分布式版本控制工具,Git的使用中仓仓库不是必须的,用户本地就是一个完整的版本仓库,代码的前进、回退、删除等等操作都可以直接在本地进行,不需要中央仓库。但是,在实际操作中,为了能够和其他同事快速沟通以及合并代码,一般还是会搭建一个中央仓库。Git对分支的管理非常友好,可以快速创建或者合并分支。 Svn集中式的版本控制工具,Svn中,必...
2019-05-12 11:28:08
222
原创 Redis03-(五大数据类型之String)
命令说明set设置key的值get获取对应的key值strlen获取key的值得长度append在原有的value的基础上追加内容incr将key存储的内容加1incrby将key存储的内容加指定的值incrbyfoat将key存储的内容累加一个float类型的数据decr将key存储的内退减1decrby将ke...
2019-05-09 19:01:47
161
原创 Redis02-五大数据类型
Redis中的数据都是key/value对,这里的数据类型指的是value的值的类型数据类型说明String是Redis中最基本的数据类型,二进制安全的,它可以包含任意数据类型。如图片。Redis中String类型的数据上限的512M。ListRedis列表是简单的字符串列表,按照插入顺序排序,你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包...
2019-05-09 17:14:14
134
原创 Redis01-Linux环境下安装Redis
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件. 它支持多种类型的数据结构,是我们在开发中使用频率比较高的一个组件。本文主要讲解Redis的安装,后续文章会介绍其相关的知识点。下载Redis官网下载地址各个版本下载地址将安装文件下载到/opt目录下。进入该目录通过wget下载wget http://download.redis....
2019-05-09 16:36:13
116
原创 Shiro0-hello
文章目录shiro简介框架说明内部的框架常见的单词Shiro中的shiro.ini说明mainusersrolesurls案例添加依赖添加shiro.ini文件认证操作shiro简介官网Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应...
2019-04-29 20:08:04
250
原创 Mybatis04-动态Sql
文章目录动态Sql语句if语句choose, when, otherwisewhere语句set语句trimforeach语句bindsql块动态Sql语句&emsp MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗...
2019-04-28 21:07:24
229
原创 Mybatis03-映射文件
文章目录Log4j传入参数#和$的区别#使用$的使用多个参数包装对象.返回数据ResultTypeResultMapuser对象映射文件测试解决方式一解决方式二主键的回写主键回填selectKeyLog4j添加依赖<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api&...
2019-04-28 21:06:58
112
原创 Mybatis-02(配置文件)
文章目录propertiessettingstypeAliastypeHandlers定义自定义类型转换器修改配置文件javaBean中的数据类型测试MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息。文档的顶层结构如下:configuration 配置 properties 属性 settings 设置...
2019-04-27 20:23:29
200
原创 Mybatis-01
文章目录mybatis概念mybatis和hibernate的比较案例1、创建Maven(类型是jar)2、添加对象的jar3、创建全局配置文件4、定义User对象5、创建映射文件6、将映射文件添加到主配置文件中7、测试增、删、修改操作映射文件设置案例优化1.获取SqlSessionFactory对象的方式整理CRUD再次整理使用 Mapper接口使用mapper注意事项mybatis概念 ...
2019-04-25 19:50:53
224
转载 SpringMVC-数据回写和异常处理及JSON操作
文章目录一、 数据回写1.1 、默认方式model3.@ModelAttribute注解实现3.1 修改参数回显变量名页面配置全局变量名异常处理定义异常处理器需要处理的异常的地方抛出异常测试JSON数据交互jackson处理接收JSON数据一、 数据回写数据回写:在做数据更新的时候服务端查询的数据自动填充到表单中。1.1 、默认方式controlller@RequestMapping("...
2019-04-23 20:10:01
655
原创 SpringMVC-文件上传、下载及静态资源处理
文章目录文件上传相关jar包页面配置文件Controller测试文件下载第一种方式Controller第二种方式(基于ResponseEntity实现)静态资源处理在web.xml文件中配置default servlet在配置文件中通过标签设置文件上传相关jar包页面<%@ page language="java" contentType="text/html; charset=U...
2019-04-22 19:52:18
677
原创 SpringMVC-响应请求处理
文章目录一、基本操作响应请求的方式1、ModelAndView方式2、服务器不响应结果给客户端返回一个字符串4、返回一个页面绝对路径相对路径5、加前缀和后缀配置视图解析器重定向(加一个redirect)HttpServletRequest和HttpServletResponse一、基本操作响应请求的方式序号响应方式说明1不响应void+@ResponseBody注解...
2019-04-22 19:28:04
612
原创 Spring-MVC
文章目录概念优点案例1、创建一个web项目导入jar包3、在src下创建配置文件4、创建自定义的Controller5、配置web.xml文件6、配置spring配置文件7、启动tomcat,测试基于注解的方式(该方式更加的灵活)1、修改配置文件开启注解,把context和mvc勾上修改自定义ControlleSpringmvc工作的原理原理图文字说明概念1.Spring Web MVC是一种...
2019-04-20 21:07:30
113
原创 Spring-AOP
文章目录AOP介绍AOP的实现AOP术语AOP的实现方式基于Schema-based方式实现前置通知后置通知环绕通知异常通知类AOP介绍AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想面向切面编程的几个核心概念概念说明IOC/DI本质是就是Java反射+XML解析AOP...
2019-04-18 22:13:48
141
原创 Spring-IOC实现(java配置)
1、javaConfig注入① 创建工程并导入相应jiar包这里多加入两个包 前面的实现没有这两个包,而自动注入需要这两个jar包才能使用自动注入②创建java配置,(javaConfig)并配置相关/** * java配置文件 * @Configuration 让当前类和applicationContext.xml作用等价 * @author Administrator * ...
2019-04-17 15:50:01
111
原创 Spring-IOC实现(自动注入)
文章目录自动注入1、javaConfig自动注入① 创建工程并导入相应jiar包②创建java配置,(javaConfig)并配置相关③创建一个实体类④测试调用XML自动配置在applicationContext.xml文件中开启自动扫描在Controller配置在dao层的实现类配置在service层实现类配置测试自动注入1、javaConfig自动注入① 创建工程并导入相应jiar包...
2019-04-17 14:46:18
1387
原创 Spring-IOC实现-XML-实例(二)
实例1、创建项目2、创建dao层public interface IUserDAO { public String say(String msg);}@Override public String say(String msg) { System.out.println("--->"+msg); return "hello"; }3、创建service层p...
2019-04-16 20:40:59
81
原创 Spring-IOC实现(xml配置)
IOC概念IOC控制反转 是对象控制权的转移,从代码本身转移到外部容器,由spring容器来操作对象的创建、初始化、销毁工作。由spring控制对象的生命周期。DI依赖注入 依赖注入是指程序运行过程中,遇到需要调用另一个对象协助时,无需在代码中闯将被调用者,而是依赖外部容器创建后传递给程序(依赖注入是最优秀的解耦方式),他是让spring的bean之间以配置文件方式组织咋一起。两者之间...
2019-04-15 21:17:05
270
原创 Spring简介
一、Spring概述 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。他是为解决企业级应用开发复杂性创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spr...
2019-04-15 19:52:11
145
原创 正则表达式
正则表达式正则表达式使用来对字符串进行验证,在很多时候我们需要指定的字符串格式或者内容,但是客户输入可能不一样,此时可以使用正则表达式对用户输入的数据进行简单的验证。DEMO:去除字符串中的非数字类型的字符package com.sun;public class Test { public static void main(String[] args){ Strin...
2019-03-01 21:38:07
302
原创 反射
反射的概念在上节课我们知道每个类加载到运行时数据区的时候会将类的结构信息保存到方法区中(JDK1.8之前的概念),再在堆中创建一个与被加载的类对应的特殊的对象,这个对象封装方法区中类的数据结构,可以使用该对象操作类的结构信息,这种使用Class对象操作方法区中对应的类的信息的方式就叫做反射机制取得Class类对象既然要使用这个特殊的对象去操作类的信息,那么就先要取得这个对象,取得这个对象有三...
2019-03-01 21:21:38
121
原创 注释
一、注解的概念一般情况不会让你去开发注解,但是在以后的框架中会大量使用注解,当你看到注解的时候不要觉得他是什么神奇的东西,注解的主要作用是对代码进行跟踪、警告等等,尤其是在容器中使用广泛(在容器中就使用了反射操作注解实现某些功能,比如说Spring容器中就大量的使用了注解),还可以使用反射操作注解,看看几个Java定义出的几个注解。DEMO:@Override注解 @Override//表示...
2019-03-01 20:53:36
125
原创 GC
GC的触发在之前的课程中知道运行时数据区中最大的区域是堆内存,我们说堆是gc主要处理的区域,所以又叫做GC堆。如果要知道gc的触发过程那么堆内存还需要继续划分。对象的创建会和上面的区域发生密切的关系,其中也会在上面的区域触发GC。我们接下来分析GC触发的过程当创建一个新对象的时候需要为新对象申请空间,在伊甸园区申请,但是需要判断伊甸园区的空间是否充足,充足则申请成功,如果不充足则触发M...
2019-03-01 20:46:31
690
原创 Java类的加载机制和类加载器
Java类的加载机制类的加载指的是将类的.class文件的二进制数据读入到内存中,==①将类信息保存在方法区内(在jdk1.8之前,在jdk1.8开始就用元空间代替),②然后在堆区创建一个java.lang.Class对象,用来封装类在方法区类的数据结构,可以使用该对象操作方法区中类的所有信息。==类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且提...
2019-03-01 20:40:02
157
原创 JVM
一、JVM的运行机制概要如果要运行Java程序,首先要编写Java的源文件(.java),之后Java的编译器将源文件编译成字节码文件(.class文件),之后再通过类加载器将字节码文件加载到jvm中,其中与程序运行最密切的是jvm中的运行时数据区(Runtime data area)。二、运行时数据区(JVM内存模型)程序计数器:程序计数器是用于存放下一条指令所在单元的地址的地方...
2019-03-01 20:28:47
78
原创 二叉树
一、二叉树的概念二叉树是保存数据的一种结构,二叉树由节点组成,每一个节点有一个或者两个或者零个子节点,子节点又分为左子节点和右子节点,一般习惯让左子节点比右子节点下。比如说一个数组中的元素就可以按照二叉树结构进行保存DEMO:将数组元素保存到二叉树中{32,10,9,78,23,15,90,85,100}此时数组的元素以二叉树的结构进行保存,取数据的时候就可以升序或者降序获取了。如果以升...
2019-03-01 19:44:53
108
原创 设计模式-单例设计模式
设计模式概念所谓的设计模式就是为了提高代码的重要性、优雅性、实现高内聚低耦合、以及满足开闭原则提出的开发思想,目前成熟的设计模式有23种,其中以下几种我们需要掌握:单例设计模式、工厂设计模式(简单工厂、方法工厂、抽象工厂)、代理设计模式(静态代理、动态代理(JDK原生代码实现、cglib实现))、适配器设计模式、模板设计模式、装饰者设计模式。一、单例 设计模式如果要求某一个类在程序的一次运...
2019-02-22 16:43:03
133
原创 Spring-事务
集合的引入存在一个容器能够具备以下功能能够对元素进行增删查改等等的方法方便我们操作容器中的元素部分元素是有序的部分元素无序部分是唯一的,部分是可重复的部分线程是安全的,部分是不安全的能够存储基本数据类型和引用类型数据结构:数据的存储方式集合相关的数据结构:数组 栈 队列 链表 哈希表 二叉树集合的概念:集合是一套框架集合的特点:能够对元素进行增删查改等等的方法方便我们...
2019-02-17 11:14:25
126
原创 字符串格式化方法
static String format(Locale l, String format, Object… args)使用指定的区域设置,格式字符串和参数返回格式化的字符串。static String format(String format, Object… args)使用指定的格式字符串和参数返回格式化的字符串。System.out.printf();https://www.cnb...
2019-01-24 22:04:07
562
原创 常用类--String类
String类string类概述: 字符串本质就是字符数组字符串特点:java程序中的所有字符串字面值(如“abc”)都作为此类的实例实现字符串是常量,他们的值在创建之后不能更改,但是可以被共享字符串缓冲区支持可变的字符串(stringbuffer和stringbuilder)常用方法(一)public String() public String(String origina...
2019-01-24 21:58:31
164
原创 常用类--object类
object概述该类是层次结构的根类每一个类直接或间接继承该类所以的列,包括数组都实现这个类中的方法任何一个类都会访问object类的无参构造方法一但访问到父类的object构造方法,就会将object加载到内存空间中,就会执行object类的静态代码块满足java的核心思想,万事万物皆对象int hashCode ()(重点掌握)由object类定义的hashcode方法确定...
2019-01-24 17:52:36
274
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人