java学习
文章平均质量分 75
曾小白不想写SQL
这个作者很懒,什么都没留下…
展开
-
jdk8的新特征
一、lambda表达式使用匿名内部类存在的问题:代码冗余所以jdk8新出lambda表达式可以解决这个问题。lambda表达式的体现其实就是函数式编程思想,也就是代码都写在了函数里。(类中的方法)使用的场景:方法的参数是接口且接口中有且仅有一个抽象方法时就可以考虑使用lambda表达式。1、lambda的标准格式:主要由三个部分组成(参数类型 参数名称) ->{代码体}省略规则:二、集合之stream流操作1、集合操作的弊端:每次操作都需要遍历一遍集合,还要创建新集合来接收原创 2021-02-21 18:47:24 · 157 阅读 · 0 评论 -
hibernate学习
SessionFactory1.创建SessionFactory做的事情:根据核心配置文件中的配置,映射到数据库的表中进行建表或者更新表的操作。2.创建SessionFactory,非常的消耗资源,在没有多数据源的情况下,一般一个项目只有一个SessionFactory。Session1.session类似于jdbc中的connection2.session的常用方法1).添加 save方法2).修改 update方法3).删除 delete方法4).根据id查找 get方法3.ses原创 2021-01-07 22:12:59 · 389 阅读 · 0 评论 -
java反射复习
一、类加载1.当程序要是用某个类时,该类还未加载到虚拟机中,则系统会通过类的类的加载、类的连接、类的初始化这三个步骤来对该类进行初始化。类的加载:将class文件读入内存,井创建一个java.lang.class对象任何类使用时,系统都会为其创建一个java.lang.class对象类的连接:验证阶段:用于检验被加载的类是否有正确的内部结构,与其他类协调一致准备阶段:为类的类变量分配内存,并初始化值解析阶段:将类的二进制数据中的符号引用设置为直接引用类的初始化:主要是初始化类变量二、获取原创 2020-12-27 11:14:42 · 99 阅读 · 0 评论 -
Shiro学习
Shiro概述:Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权。Shiro在JavaSE和JavaEE项目中都可以使用。它主要用来处理身份认证,授权,企业会话管理和加密等。具体功能点:1.身份认证/登录,验证用户是不是拥有相应的身份;2.授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有某个权限;3.会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信原创 2020-11-27 21:16:19 · 94 阅读 · 0 评论 -
javaweb复习
Servlet:概念:运行在服务器端的java小程序。Servlet就是一个接口,定义了一java类被浏览器访问到(tomcat识别)的规则。将来我们自定义一个类,实现servlet接口,重写原创 2020-10-18 12:03:37 · 209 阅读 · 4 评论 -
maven学习
maven 里放的是jar包的坐标优先找本地仓库,如果本地仓库没有,在联网状态下回去查找中央仓库。仓库分三类:本地仓库、私服、中央仓库maven的常用命令maven clean 清除target目录maven compile 编译src下的代码(不包括test)maven test 编译 src下的代码包括testmaven package 编译src下代码 并打包maven install 编译src下代码 并打包 也把包放到本地仓库解决jar包冲突方式一:第一声明优先原则,那个j原创 2020-10-13 19:47:52 · 93 阅读 · 0 评论 -
lucene全文检索
要知道什么是全文检索,不得不提数据的分类:数据的分类1).结构化数据:格式固定、长度固定、数据类型固定。(数据库中的数 据)2).非结构化数据:格式不固定、长度不固定、数据类型不固定。(word、ptf、html)全文检索:就是创建索引然后搜索索引的过程。1.创建索引获取文档构建文档对象分析文档创建索引2.查询索引把关键词分装成一个查询对象执行查询...原创 2020-09-13 10:11:29 · 178 阅读 · 0 评论 -
freemark学习
freemark用于实现网页静态化什么是静态化?将动态的页面转换成静态页面,浏览器访问时直接是访问静态页面。为什么要静态化?1.通过浏览器直接访问的静态页面,不需要经过程序的处理,因此访问速度高;2.稳定性好;3.安全性高;4.更容易被搜索引擎收录。什么是freemark?是一个用Java编写的模板引擎,基于模本输出文本。...原创 2020-09-15 20:12:45 · 155 阅读 · 0 评论 -
Spring Data Jpa学习
一、高级查询值example的使用优点:1.可以使用动态或者静态的限制去查询2.在重构你的实体的时候,不用担心影响到已有的查询3.可以独立的工作在数据查询API之外缺点:1.不支持组合查询。(select * from id=:1 or (id=:2 and id=:3) )2.只支持字符串型,其他类型只支持精确匹配Example api的组成Probe: 含有对应字段的实例对象。ExampleMatcher:ExampleMatcher携带有关如何匹配特定字段的详细信息,相当于匹配条原创 2020-09-07 21:53:58 · 101 阅读 · 0 评论 -
实体类为什么要实现Serializable接口?
转自:https://www.cnblogs.com/liuqing576598117/p/9518477.html序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象;序列化保存对象转态,不保存静态变量。三种情况:将对象存储在硬盘上。将对象通过网络传输。通过RMI远程调用等方式传输对象的时候。在这三种情况下,是需要进行序列化然后传输的。1转载 2020-08-29 20:04:58 · 824 阅读 · 0 评论 -
炫酷的个人功能网站
有空把自己之前的网站修缮了下,首先把pc端,手机端兼容问题解决了,之前的没有响应式框架,第二,跨域问题解决了,之前最重要的一些页面总是出不来,现在可以了。参观地址:http://47.103.24.88 游客账户:admin 游客密码:admin。...原创 2020-03-29 16:51:36 · 839 阅读 · 0 评论 -
Java编译生成的class文件名为什么有$符号
编译java文件的时候会发现一个java文件可以生成的多个class文件,而且有的还含有“$”符号,这个符号代表的是内部类,举个例子:public class ClassA {private class ClassB { private void show() { System.out.println("哈哈哈"); } }private void display() { ne...原创 2019-10-22 12:25:04 · 5686 阅读 · 1 评论 -
IO流
一、IO概述IO流在java中从输入输出角度分类:1.输入流2.输出流IO流在java中数据的角度来分类1.字符流文本,我们能读懂的都可以认为是字符流。比如:文章,java文件等等2.字节流二进制的数据,这种数据一般用文本打开我们读不懂。比如,图片文件,mp3等等。二、字符流字符输入流的超类:Reader:子类:FileReader,BufferedReader字符输出流的...原创 2019-07-22 10:03:40 · 117 阅读 · 0 评论 -
java面试题以及解析
一、不定项选择题1.如下程序class Test{public static void main(String[] args){doSomething(1);doSomething(1,2);}//insert code here}在程序中插入下列哪一行代码可以编译通过:A.static void doSomething(int[] args){}B.static void...原创 2019-07-17 20:04:58 · 561 阅读 · 0 评论 -
java如何把char型数据转换成int型数据(转)
java如何把char型数据转换成int型数据(转)一字符串,String=“2324234535”;把第i个数取出来时是char型的:char temp=String.charAt(i)如何把char型转换成int型?我需要求个尾数之和,如:123的各位数之和为6.每个字符取出来,得到char型的1,2,3,4,5;但是求和得到的结果是ASCII码值处理办法:(1)把char转成...转载 2018-11-28 18:12:16 · 1189 阅读 · 0 评论 -
一个炫酷的个人网站带后台
前段时间觉得自己学的挺杂的,h5,css,js,jquary,ajax什么的,干脆就全部整合一起做了个小demo,算是一个综合性的练习。这个项目基于h5+css+js+jquary+ajax+java+springboot+mybatis。没有用响应式框架,只能兼容oc端,自己做的ui,有点丑,话不多说,上图。这是登录页面注册页面参观地址:http://47.103.24.88 游客账...原创 2019-07-26 18:17:09 · 6812 阅读 · 13 评论 -
linux学习
linux的基础命令1.查看命令:(1).ls 简单显示当前目录下有哪些文件和子目录linux采用颜色来区分文:黑色或者白色代表普通文件蓝色代表目录红色代表压缩包或者安装包天蓝色代表快捷方式黄色或者粉红色代表是一个设备文件绿色背景或者绿色的名字代表前者是有特殊权限的目录,后者是有特殊权限的文件(2).ls -l 详细显示(3).ls -lh 更加人性化的方式来显示当前...原创 2019-07-28 15:39:18 · 79 阅读 · 0 评论 -
接口与抽象类的区别
1.接口是行为的抽象,可以有静态方法,抽象方法和默认方法,抽象类可以有所有方法。2.接口和抽象列都不能实例化,接口需要类实现后实例化类,抽象类需要类来继承然后实例化子类。3.抽象类只能单继承,接口可以多继承接口,也可以多实现。4.接口中的属性是publci static final修饰的,抽象类中的属性和普通类的一样。5.接口中的方法默认的是抽象的,不需要加absract,而抽象类必须加。...原创 2019-09-08 11:04:22 · 121 阅读 · 0 评论 -
父子类之间的类型转换
子类转换成父类(可自动转成)例:Teacher th=new JavaTeacher();1.如果子类对父类的方法有重写,并且子类的实例赋值给分类的引用,通过这个引用来调用重写的方法时,调用的是子类的方法。2.父类指向子类引用,父类的引用不能调用子类的特有方法和属性。3.如果父子类有同名属性,那么父类指向子类的实例引用调用这个属性的时候还是用的父类,不要和方法混淆。父类转换成子类例:T...原创 2019-09-09 11:07:44 · 1092 阅读 · 0 评论 -
同步锁:synchronized
线程并发的解决针对线程并发,我们需要使用同步锁:synchronized语法:synchronized(锁对象){//操作共享资源的代码}同步锁加在什么地方?1.代码被多个线程访问2.代码中有共享的数据3.共享数据被多条语句访问...原创 2019-07-12 10:51:50 · 155 阅读 · 0 评论 -
super关键字
super关键字1.子类通过默认构造器实例化的过程是先调用父类的构造器再调用子类的构造器,在子类的构造器默认的调用super。2.如果子类的构造器调用了父类的有参构造方法,那么默认的super就不会有了。不能再子类构造器调用俩个super。3.superd调用一定要放在第一行。4.super可以表示父类的引用,我们可以使用super和this区分父类和子类中的同名属性。...原创 2019-07-11 18:19:47 · 184 阅读 · 0 评论 -
Java @Autowired的使用好处
1、@Autowired是spring自带的注解,通过‘AutowiredAnnotationBeanPostProcessor’ 类实现的依赖注入;2、@Autowired是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Qualifier;3、@Autowired有个属性为required,可以配置为false,如果配置为false之后,当没有找到相应bean的时候,系统不会抛...原创 2019-02-28 20:20:08 · 3599 阅读 · 0 评论 -
@ResponseBody的作用
@ResponseBody是作用在方法上的,@ResponseBody 表示该方法的返回结果直接写入 HTTP response body 中,一般在异步获取数据时使用【也就是AJAX】,在使用 @RequestMapping后,返回值通常解析为跳转路径,但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是直接写入 HTTP response body 中。 比如异步获取 j...原创 2018-12-17 19:30:34 · 269 阅读 · 2 评论 -
@PathVariable的作用
@PathVariable是用来对指定请求的URL路径里面的变量eg: Java代码@RequestMapping(value = "form/{id}/apply", method = {RequestMethod.PUT, RequestMethod.POST}){id}在这个请求的URL里就是个变量,可以使用@PathVariable来获取@PathVariable和@Reques...转载 2018-12-17 19:20:20 · 692 阅读 · 0 评论 -
JSON.parse()与JSON.stringify()的区别
json.stringfy()将对象、数组转换成字符串;json.parse()将字符串转成json对象。json.stringfy():语法: JSON.stringify(value [, replacer] [, space])value:是必选字段。就是你输入的对象,比如数组,类等。replacer:这个是可选的。它又分为2种方式,一种是数组,第二种是方法。 情况一:rep...转载 2018-12-22 15:59:20 · 2565 阅读 · 0 评论 -
GetMapping 和 PostMapping的区别
最近刚学完三大框架,回过头来做东西发现很多东西都忘了,GET\POST是有区别的spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。以@GetMapping为例,Spring官方文档说:@GetMapping是一个组合...原创 2018-12-17 16:27:51 · 27687 阅读 · 0 评论 -
ajax学习以及常见页面报错
xmlhttp.readyState的值及解释:0:请求未初始化(还没有调用 open())。1:请求已经建立,但是还没有发送(还没有调用 send())。2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。4:响应已完成;您可以获取并使用服务器的响应了。xmlhttp.status的值及解释:...原创 2018-12-21 12:05:15 · 166 阅读 · 0 评论 -
面试宝典
1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。2.“static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情...原创 2018-11-28 08:55:00 · 115 阅读 · 0 评论 -
jdk 1.8 的forEach()方法遍历数组
forEach and Map1.1 通常这样遍历一个MapMap<String, Integer> items = new HashMap<>();items.put(“A”, 10);items.put(“B”, 20);items.put(“C”, 30);items.put(“D”, 40);items.put(“E”, 50);items.pu...转载 2018-12-02 21:35:13 · 3768 阅读 · 0 评论 -
List遍历的三种方法
java list三种遍历方法性能比较http://www.cnblogs.com/riskyer/p/3320357.htmlJAVA LIST 遍历http://blog.csdn.net/love_leve/article/details/3367888第一种:for(Iterator it = list.iterator(); it.hasNext(); ...转载 2018-12-02 21:33:15 · 339 阅读 · 0 评论 -
@Controller和@RestController的区别
@RestController是@ResponseBody + @Controller合体,当你在这个controller中方法只是想返回一个页面时,就不能用@RestController,因为它会把你的返回值当作数据返回,而不是页面名字,所以这时候就只能用@Controller。如:@RestControllerpublic class HomeController {@RequestM...转载 2019-02-28 20:25:54 · 93 阅读 · 0 评论 -
关于catch异常后的处理顺序
今天自己写东西的时候 想反回一个结果 却发现自己思路有点乱 自己写了代码搞清楚了。public class Test { public static void main(String[] args) { Lx lx = new Lx(); System.out.println(lx.add()); }}class Lx { public...原创 2019-04-12 17:56:29 · 1010 阅读 · 0 评论 -
线程的俩种实现方式
线程俩种实现方式:1.继承Thread类,重写run方法public class DownLoad extends Thread{ private String name; public DownLoad(String name) { this.name = name; } @Override public void run() {...原创 2019-07-11 17:17:13 · 69 阅读 · 0 评论 -
序列化流:(对象流)
序列化流:(对象流)范例:从txt文件中加载属性信息把对象以流的形式存储在硬盘上或者数据库中的过程就是序列化流对象输出流:ObjectOutputStream 将java对象的基本数据类型和图形写入OutputStream。对象输入流:ObjectInputStream 对以前使用ObjectOutputStream 写入的基本数据和对象反序列化注:1.我们要序列化对象就要让这个对...原创 2019-07-11 16:27:24 · 138 阅读 · 0 评论 -
Map集合及其子类特点
*MapMap虽然是集合,但是和Collection不是一个体系。特点:1.一个映射不能包含重复的键;2.每个键最多只能映射到一个值;3.键只允许一个空值;4.值可以有多个空值;4.Map也是无序的; 注:可以理解键是Set。HashMap:1.HashMap是map的实现类;2.允许多个null值和一个Null键;3.HashMap中的元素没有顺序(跟添加的顺序无关...原创 2019-07-06 10:50:19 · 690 阅读 · 0 评论 -
可变参数的使用
可变参数的定义:数据类型… 变量注意:1.他可以代表单个数,也可以代表数组的传递2.如果调用的时候我们发现了正好能匹配的方法就不会调用可变参数的方法,否则则调用可变参数方法。例子如下:public class KeBian { public static void main(String[] args) { System.out.println(add(1));...原创 2019-07-05 18:47:24 · 265 阅读 · 0 评论 -
List、Set集合以及子类的特点
List集合:是有序、可重复、可以有null的集合,就像我们的数组一样。我们可以吧list理解为一个长度可变了数组,而且提供了丰富的API。ArrayList:底层是数组的原理,元素可以重复,有顺序,长度不固定,不是线程安全的,效率高。ArratList长度的变化: ArratList在添加数据的时候,初始长度为10,后续会以5个长度来扩充集合的长度。ArrayList不是线程安全的集合,适...原创 2019-07-05 18:29:49 · 237 阅读 · 0 评论 -
网络编程
网络编程一、常见的俩种协议TCP和UDPTCP:将数据和目的地封装到数据包中,不需要建立链接。每个数据包的大小限制在6K。因为不需要建立链接,所以不安全,但是速度快。UDP:建立链接形成传输数据的通道,然后再传输数据,通过三次的握手。安全性高,效率低。二、InetAddress类InetAddress适用于管理ip的类,没有构造器1.单例模式2.根据静态的方法来返回该对象...原创 2019-07-14 09:57:17 · 83 阅读 · 0 评论 -
内部类复习
内部类类内部的类就是内部类。位置:把一个类定义到另一个类中,那么该内部的类就是内部类。注意:内部类不能直接创建。创建内部类的语法:外部类.内部类 变量名=new 外部类对象.new 内部类对象内部类的外部类如果想访问内部类的方法,必须创建内部类的对象,根据内部类的对象来访问内部类的特点:1、本类可以直接创建内部类的对象。2、内部类的方法可以访问外部类的属性。匿名内部类没有名字的...原创 2019-07-04 14:36:30 · 68 阅读 · 0 评论 -
sql优化
SQL优化一、全文索引解决模糊查询 fulltext例: select * from 表名 where match(全文索引的字段名) against(‘索引内容’)比like模糊查询快很多(注:只支持英文,因为英文有空格,中文之间没有 ,或者用分词器给汉字分词)...原创 2019-07-13 16:06:05 · 129 阅读 · 0 评论