![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 90
jianhaojiang
希望自己能坚持记录,逐渐成长!
展开
-
freemarker个性化导出excel
前言导出excel是比较常见的需求,有时候需要导出的excel有固定的格式,这里记录一下FreeMarker导出excel,暂时不了解FreeMarker基本语法的请先去学习一下。正文FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌...原创 2020-05-03 17:55:52 · 707 阅读 · 1 评论 -
java多线程学习总结(二)
线程安全线程工作都有单独的工作空间,一般都是先拷值过来修改再更新值,存在更新值之前其他线程也进行了值拷贝,导致值存在不同步的问题,线程不安全。线程并发三要素: 同一个对象 多个线程 同时操作存在线程安全问题,于是就需要实现线程同步,线程同步的步骤有:形成队列、等待队列、加上锁(锁机制synchronized)。线程同步的任务是保证安全和性能。synchronized使用synch...原创 2019-02-26 14:08:23 · 227 阅读 · 0 评论 -
java8 Lambda表达式的使用
前言lambda表达式表达更为简洁,但是效率并不比原来高,多用于多线程中简化频繁使用的匿名内部类函数。lambda表达式并非所有场景都适用。正文下面介绍Lambda的使用,首先定义一个接口:interface ILike{ void lambda();}作为比较,首先先介绍其他的方式实现接口,首先建一个测试类,其中分别实现接口:public class LambdaTest...原创 2019-02-13 23:41:08 · 492 阅读 · 0 评论 -
java多线程学习总结(一)
前言最近学习了java基础之多线程,感觉还是很nice,毕竟基础薄弱。所以总结一下,加深印象的同时留以备用。正文多线程的实现实现方式有三种:1.实现Runnable接口和它的run方法2.继承Thread类实现它的run方法3.实现Callable接口和它的call方法三种线程实现的区别:继承Thread和实现Runnable接口优先级不用说,肯定优先实现Runnable接口,...原创 2019-02-23 10:43:54 · 250 阅读 · 0 评论 -
Java容器总结
前言学习了一些java中的容器,记下总结。正文ListArrayListArrayList 底层是由数组实现的,数组的优点是查询效率高,但是插入删除的效率很低,因为每删除一个元素就将该元素后面的所有元素整体往前移动。ArrayList中声明了Object[] elementData数组,默认大小为10,每当数据插入时首先验证数组是否已经满了,若是数组已满则进行扩容,每次扩容大小为数组当...原创 2018-12-23 14:23:23 · 236 阅读 · 0 评论 -
网络编程个人归纳
前言最近又学习了基础的网络编程,主要是学习并使用UDP和TCP来编写Demo,做一下归纳总结,方便以后温习。正文定位资源首先网络编程第一步,定位资源:定位一台机器: 使用IP定位一个软件: 使用端口Port定位软件上的一个资源:使用URLIP//得到本机InetAddress对象InetAddress addr = InetAddress.getLocalHost(...原创 2019-03-03 14:29:21 · 327 阅读 · 0 评论 -
java基础知识之注解、反射(一)
前言此博客为供个人学习总结备用,如有错误请指正。正文Annotation(注解)java自带的注解包含以下三个:1.@Override 注解表示重写父类的方法2.@Deprecated 声明被注解的方法或字段等废弃,不建议使用3.@SuppressWarnings 抑制所有的警告其中@Deprecated和@SuppressWarnings注解可以配置...原创 2019-03-23 12:24:36 · 201 阅读 · 0 评论 -
java单例模式的最佳实现!
前言大致的了解了一下单例模式的实现,经供参考!常见实现(懒汉和饿汉)懒汉式单例模式/** * 懒汉式,先不创建实例,等到需要时在创建。 * 多线程情况下并发效率低。 * 结论:线程安全,调用效率不高,但是可以延时加载。 */public class LazySingleton { /** * 静态实例变量 */ private static L...原创 2019-03-30 12:30:30 · 1195 阅读 · 0 评论 -
java基础知识之注解、反射(二)
前言继续上文java基础知识之注解、反射(一),上文讲了一下注解和自定义注解已经java反射的基础应用。本文继续介绍一下动态编译、字节码操作类库Javassist和类加载过程。文章大多是学习尚学堂官网而来的总结,可能有点枯燥,大家感兴趣请自行官网搜索视频学习。正文动态编译java提供动态编译有以下两个使用场景: 1.浏览器端编写java代码,上传服务器编译和运行的在线评测系统,比如牛客网...原创 2019-03-23 20:33:00 · 193 阅读 · 0 评论 -
自定义对象集合List之间取差集
前言在工作中少不了使用集合类来处理数据,List是最常用的一种集合了。这些集合类使用都非常的方便,但是使用集合存放一些自定义的对象时,就需要注意使用这些方法了。这里主要讲一下List之间的差集该怎么取。正文原生Api如果你的List存放的是基本数据类型或字符串类型的数据,那么List提供了实现交集、差集、并集的这些方法。使用如下:需求调用方法说明交集listA....原创 2019-04-27 16:22:37 · 21342 阅读 · 5 评论 -
我的第一次WebService接口开发
前言最近项目上需要对接WebService接口,之前从来没有用过,这次都遇见了。记录下基础的使用和我遇见的问题。正文概述WebService接口百度一搜,各个介绍的都非常详细,由于刚开始没接触,看的也不是很懂。首先记住一句话:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。跨编程语言和跨操作系统平台:也就是说Asp.net开发的WebService我用java代码调用...原创 2019-05-09 16:58:09 · 101552 阅读 · 12 评论 -
关于MyBatis的运行过程
前言粗浅的记录一下mybatis的运行过程,欢迎学习交流。正文MyBatis的使用代码一般如下://读取mybatis配置文件InputStream is = Resources.getResourceAsStream("mybatis.xml");//创建SqlSession工厂SqlSessionFactory factory = new SqlSessionFactoryBui...原创 2019-06-15 22:04:37 · 462 阅读 · 0 评论 -
java服务器文件下载到本地
前言我实现了一个生成excel的功能,让用户在访问服务器点击导出按钮时下载到用户本地。这就不能只是简单的java io写出了,总不能写出到服务器本地了吧,用户本地一脸懵逼。怎么返回文件给访问网页的用户?通过response返回一个文件数据。正文逻辑是:用户点击按钮—>前台提交—>后台处理—>返回文件首先我们前台需要一个from表单提交事件 &am原创 2018-10-14 20:59:00 · 2841 阅读 · 1 评论 -
详解内部类Java(转)
原文链接https://www.cnblogs.com/dolphin0520/p/3811445.html加上自己的东西,一个类只有一个与文件名相同的pulic类,但是类里面的内部类也可以声明为内部类,但是不能与文件名重名。以下是原文链接Java内部类详解 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即转载 2017-11-17 21:28:40 · 197 阅读 · 0 评论 -
快速排序的JAVA实现
总是会模糊这些排序,记录一下快速排序,这是原文链接。https://www.cnblogs.com/zengzhihua/p/4456737.html算法描述:对于一组给定的记录,通过一趟排序后,将原序列分为两部分,其中前一部分的所有记录均比后一部分的所有记录小,然后再依次对前后两部分的记录进行快速排序,递归该过程,直到序列中的所有记录均有序为止。?123456789101112131415161转载 2017-11-08 20:16:17 · 128 阅读 · 0 评论 -
什么叫做事务以及事务的四个特性
转载自http://blog.csdn.net/xiaoyu714543065/article/details/8211265 一.什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束有两种,当事务中的所以步骤全部成功执行转载 2017-10-31 11:48:41 · 1153 阅读 · 0 评论 -
栈,堆,方法区及内存方面知识
这里主要分享几个链接:栈,堆,方法区http://www.cnblogs.com/kkcheng/archive/2011/02/25/1964521.html内存管理http://www.cnblogs.com/gw811/archive/2012/10/18/2730117.html垃圾收集器http://www.cnblogs.com/gw811/archive/2012/1原创 2017-10-29 16:09:13 · 286 阅读 · 0 评论 -
StringBuffer与StringBuilder与String的不同
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 转载于http://blog.csdn.net/rmn190/article/details/1492013#insertcode 自己的概括就是String类是用Final修饰的不可变的,如果字符串对象经常发生变化那么不建议使用String,建议使用StringBuil转载 2017-10-29 15:23:17 · 186 阅读 · 0 评论 -
JAVA一道易错的基础题!!!
遇见一题非常容易做错,大家来挑战一下。前言这一段是我自己关于try-catch-finally的执行的一点理解,执行时finally的return语句返回结果会将try的return语句返回结果覆盖掉,此时try的return语句会先执行但不会返回(你可以就把这个当一条去掉return的语句),然后执行Finally的内容,并且由finally执行返回。还有就是finall...转载 2017-10-27 22:35:42 · 442 阅读 · 0 评论 -
程序员容易忽视的伪共享问题
原文链接https://zhuanlan.zhihu.com/p/22755195这个问题比较深,估计我目前是接触不到。但还是很有必要分享一下。建议直接看原文。由于并发的原因,会出现两个变量共用一个缓存块,所以当一个线程改变其中一个变量的时候,那么所有含当前变量的缓存块将会失效,那么失效缓存块中的另一个变量也会失效。那么当其他线程访问这个变量时它却失效了,那么得重新从内存里读取,那缓存没有转载 2017-10-11 16:58:19 · 485 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
在其他网站上看到的,绝对是一篇极好的文章,并发讲的很详细。原文地址http://www.importnew.com/18126.html转载 2017-10-11 15:52:56 · 117 阅读 · 0 评论 -
封装继承多态(转载)
前言学习逆水行舟,基础的东西理解的都很少,知道这些东西,别人一问仔细,才发觉自己完全不得精髓,有些自责。 转载自http://blog.csdn.net/c_w_d/article/details/52982191正文面向对象的三个基本特征是:封装、继承、多态。我们知道,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是:代码重用。转载 2018-01-29 18:37:08 · 306 阅读 · 0 评论 -
关于父类静态方法能不能被子类重写详细
这里首先声明:不能,不能,不能! 这里看了别人的博客,为了方便就直接拷了他的测试代码,并加以修改说明。首先我们讲一下重写:子类继承父类后可直接调用父类的方法而不用去自己定义,如父类A有add方法,则子类B没有add方法也可以实例化B b=new B();调用方法b.add().但是子类想要自己重写add方法实现新的功能的话就可以在自己的类中定义add(),这样就算是重写了父类的方法,关于原创 2017-11-10 23:39:33 · 14596 阅读 · 8 评论 -
重写了equals()为什么要重写hashCode()方法(转载)
原文链接http://blog.csdn.net/micro_hz/article/details/47254869讲的非常好,留着以后万一忘了呢。原文博客最后一句话是重点(别骂我,我只是给自己备份,如果你也解决问题就更好了)转载 2017-10-13 17:25:51 · 166 阅读 · 0 评论 -
java Buffer IO读写txt文件,无乱码模板,直接可用!
前言这个是方便自己用才写的博客,没有什么技术含量,如果帮助你了很高兴。内容部分参考:https://blog.csdn.net/qq_36868342/article/details/76577758PS:如果你使用时发现还是存在乱码情况,请检查你读取和输出的txt文件编码模式,保证编码一致并和代码中配置的相同(txt文件内ANSI相当于GBK编码)。设置编码代码:new InputStr...原创 2018-09-27 21:52:51 · 623 阅读 · 0 评论 -
安装Apache服务器遇见.dll丢失等问题解决
学习需要安装一个Apache服务器,然后就去下载了,下载安装过程可以参考百度https://jingyan.baidu.com/article/d8072ac47baf0eec95cefdca.html 我主要分享一下安装时候遇到的:丢失了VCRUNTIME140.dll文件的问题(划重点)。 下载完我点击Apache/bin/ApacheMonitor.exe执行。 结果来个提示说计算机原创 2017-11-02 17:22:36 · 2631 阅读 · 0 评论