java
文章平均质量分 63
兴国First
这个作者很懒,什么都没留下…
展开
-
ImageIo.read读取图片有一层红色
使用BufferedImage headBuff = ImageIO.read(url);读取图片,读取后再重写有可能有一层红色。这就是ImageIO.read()方法读取图片时不能正确处理ICC信息的问题。网上很多文章给出以下解决方案。Image src = Toolkit.getDefaultToolkit().getImage(url);BufferedImage originalIm...原创 2019-11-10 17:48:07 · 3124 阅读 · 0 评论 -
java8中CompletableFuture的使用
文章目录Future接口使用CompletableFuture 构建异步应用supplyAsyncthenCompose和thenCombinethenApplythenAcceptjoinExecutor如果你的意图是实现并发,而非并行,或者你的主要目标是在同一个CPU上执 行几个松耦合的任务,充分利用CPU的核,让其足够忙碌,从而大化程序的吞吐量。那么你其实真正想做的是避免因为等待远程服务...原创 2019-10-26 15:05:38 · 1182 阅读 · 0 评论 -
java8中的日期和时间API
java8中引入新的日期时间API,主要解决原来日期操作复杂,表示不清晰,线程不安全等问题。日期创建1. LocalDate和LocalTime//指定日期创建LocalDate date = LocalDate.of(2019, 10, 20);System.out.println(date.getYear()); //2019System.out.println(date.getM...原创 2019-10-20 19:39:59 · 3594 阅读 · 1 评论 -
java8中的Optional
Optional类主要解决空指针异常NullPointerException。Optional 类(java.util.Optional)是一个容器类,代表一个值存在或不存在,原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念。并且可以避免空指针异常。创建Optional 对象1. 声明一个空的Optional通过静态工厂方法Optional.empty()...原创 2019-10-20 14:55:10 · 11312 阅读 · 0 评论 -
java8中的Collectors.groupingBy用法
Collectors.groupingBy根据一个或多个属性对集合中的项目进行分组数据准备:public Product(Long id, Integer num, BigDecimal price, String name, String category) { this.id = id; this.num = num; this.price = price; this.name =...原创 2019-10-13 18:21:56 · 261840 阅读 · 37 评论 -
java面试题--基础知识(精化版)
1. JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java...原创 2019-04-14 21:21:16 · 714 阅读 · 0 评论 -
使用webmagic爬取网站数据
通过webmagic爬取穷游网数据原创 2019-03-31 20:21:49 · 4085 阅读 · 1 评论 -
java使用freemarker导出word(标准格式版)
java使用freemarker导出标准格式word文档,导出docx格式word文档原创 2019-03-31 18:48:34 · 19102 阅读 · 9 评论 -
java使用freemarker导出word
java使用freemarker生成word文档,生成docx格式文档原创 2019-02-01 11:59:07 · 6657 阅读 · 8 评论 -
java中System.getProperty("line.separator", "\n");
在java中"\n"表示换行符。但是不同系统中采用的换行符有所不同。系统换行符Windows\n\runix\nmac\r所以使用System.getProperty(“line.separator”);可以换取当前系统的换行符,避免因为linux或windows或Mac的不同导致运行报错。System.getProperty(“line.sepa...原创 2018-10-14 23:33:17 · 6403 阅读 · 1 评论 -
Java类加载器ClassLoader
JAVA类装载方式,有两种:1.隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中。2.显式装载, 通过class.forname()等方法,显式加载需要的类类加载的动态性体现:一个应用程序总是由n多个类组成,Java程序启动时,并不是一次把所有的类全部加载后再运行,它总是先把保证程序运行的基础类一次性加载到jvm中,其它类等到jvm用到...转载 2018-10-14 20:22:17 · 788 阅读 · 0 评论 -
java/golang/js版本号比较
我们一般使用版本号控制版本,并且做一些判断或者向下兼容。一般版本号会使用semver 规范,格式为 Major.Minor.Patch,其中Major、Minor、Patch均为整数。比较版本号的大小可参考如下:javapublic static int compareVersion(String srcString, String anotherString) { String[] v...原创 2019-05-30 23:48:19 · 374 阅读 · 0 评论 -
linux下java生成图片中文乱码
应用场景:java生成图片,图片上的中文乱码或者文字部分缺失操作步骤如下:检查linux下已安装的字体查看所有字体命令:fc-list查看中文字体命令:fc-list :lang=zh如果返回:-bash: fc-list: command not found说明没有安装字体管理,需要安装字体库安装字体库管理yum -y install fontconfig...原创 2019-08-11 23:26:15 · 3047 阅读 · 0 评论 -
java8中map新增方法详解
map新增的方法:getOrDefaultforEachputIfAbsentcomputecomputeIfAbsentcomputeIfPresentmergeremove(key,value)replacereplaceAllgetOrDefaultdefault V getOrDefault(Object key, V defaultValue) { V...原创 2019-09-08 12:48:39 · 12224 阅读 · 0 评论 -
Java8中Stream的使用
Stream(流)是一个来自数据源的元素队列并支持聚合操作元素是特定类型的对象,形成一个队列。 - Java中的Stream并不会存储元素,而是按需计算。数据源,流的来源。 可以是集合,数组,I/O channel, 产生器generator 等。聚合操作,类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。和以前...原创 2019-09-08 19:37:46 · 5196 阅读 · 0 评论 -
java8中Collection新增方法详解
Collection新增方法:removeIfstreamparallelStreamspliteratorlist中replaceAllsortremoveIfdefault boolean removeIf(Predicate<? super E> filter) { Objects.requireNonNull(filter); bool...原创 2019-09-08 19:39:54 · 4357 阅读 · 1 评论 -
java8中Collectors的方法使用实例
java8中Collectors的方法:toCollectiontoListtoSettoMapjoiningmapping/flatMappingfilteringcollectingAndThencountingminBymaxBysummingInt/summingLong/summingDoubleaveragingInt/averagingLong/avera...原创 2019-09-08 20:22:52 · 10599 阅读 · 1 评论 -
java8中常用函数式接口
常用函数式接口函数式接口函数描述符原始类型特化PredicateT->booleanIntPredicate,DoublePredicate,LongPredicateConsumerT->voidIntConsumer,LongConsumer,DoubleConsumerFunction<T, R>T->RIntFu...原创 2019-09-28 23:41:15 · 16655 阅读 · 0 评论 -
java8中的方法引用和构造函数引用
方法引用和Lambda方法引用可以被看作仅仅调用特定方法的Lambda的一种快捷 写法。它的基本思想是,如果一个Lambda代表的只是“直接调用这个方法”,那最好还是用名称 来调用它,而不是去描述如何调用它。事实上,方法引用就是让你根据已有的方法实现来创建 Lambda表达式。但是,显式地指明方法的名称,你的代码的可读性会更好。当你需要使用方法引用时,目标引用放在分隔符::前,方法的名称...原创 2019-09-29 21:43:24 · 5541 阅读 · 0 评论 -
Hashtable、HashMap、TreeMap有什么区别?
Map是java广义集合框架的另外一部分,其中HashMap又是使用频率最高的类型之一。所以HashMap本身和相关类型也是经常在面试中被提问。 一般可以回答的内容主要是基本特征、数据结构、HashMap的设计,其他可以问的问题可以更多,大多为HashMap的源码,hash算法等。 典型回答:Hashtable、HashMap、TreeMap都实现了Map接口,使用键值对的形式存储数据和...原创 2018-09-02 23:54:04 · 9446 阅读 · 0 评论 -
Vector、ArrayList、LinkedList 有什么区别?
这个问题主要是考察集合框架的问题,主要考察三者之间的设计区别,以及使用时如何选择。然后继续可能考察排序算法的问题。 主要区别:Vector是java早期提供的线程安全的动态数组;ArrayList也是动态数组,但不是线程安全的;而LinkedList与前者不同,LinkedList是使用双向链表存储的,也不是线程安全的。Vector因为是线程安全的,所以在使用时性能比ArrayList要...原创 2018-08-26 23:58:35 · 1008 阅读 · 0 评论 -
String、StringBuffer、StringBuilder有什么区别?
关于String、StringBuffer、StringBuilder在刚开始面试的时候经常被问到的问题。这个问题主要考察对字符串的操作,主要有:字符串的拼接设计(是否产生新的对象)缓存执行速度线程安全在jdk8之后进行的优化 另外延伸问题就有String源码的设计比如:hashcode的重新、对象如何进行比较的算法等。首先比较常见的回答:String被声明为final...原创 2018-08-11 19:43:05 · 639 阅读 · 0 评论 -
在DAO中读取jdbc.properties中的值使用
在DAO中读取jdbc.properties进行数据库连接,这个一般不会用到,因为使用SSH,SpringMVC都可以在applicationContext.xml中进行数据持久化和业务逻辑配置等。并且即使使用最简单的直接在DAO中写入了数据库的加载。所以这种情况极其难用到,但是我还是用到,项目太老,太乱,没有办法,记录一下。 首先存在jdbc.properties配置文件,里面代码如下: jd原创 2015-05-07 15:30:18 · 1940 阅读 · 0 评论 -
java简单ping其他Ip是否可以ping通
这里只是进行简单的ip访问,没有做端口判断。这里使用java类库中的java.net.InetAddress 类来实现,使用其中的 boolean isReachable(int timeout) 来测试ip地址能否访问(ping). 直接上代码: public String select(String ipAddr){ String clear = ""; try原创 2015-05-08 09:55:51 · 2611 阅读 · 0 评论 -
在页面通过java读取文件中的值
在真正写代码时一般不会这样用,因为这样写比较烂。我写这个也是因为时间紧张,比较方便。为了在文本框中显示文件中的值,我的是一个时间。点击菜单时直接加载到页面,没有通过后台。代码如下: <% String lockScreenTime=""; Properties pro = new Properties(); //读取配置文件 FileInput原创 2015-05-05 09:59:05 · 569 阅读 · 0 评论 -
jstl价格、日期、数字的格式转换formatNumber/formatDate
使用标签应先导入其uri可在fmt.tld文件下转载 2014-10-11 16:28:26 · 1071 阅读 · 0 评论 -
关于Select option默认选中及查询后选项值保留的问题
在jsp页面中经常原创 2014-10-18 07:54:19 · 13882 阅读 · 5 评论 -
accounting.formatNumber/Money的使用格式化货币、数字
之前写项目在jsp页面中一直使用原创 2014-10-14 09:17:37 · 3846 阅读 · 0 评论 -
ajax--xmlhttp
function showCustomer(str){var xmlhttp; if (str=="") { document.getElementById("txtHint").innerHTML=""; return; }if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome转载 2014-08-27 15:24:14 · 435 阅读 · 0 评论 -
cursor:hand 与 cursor:pointer 的区别
cursor:hand 与 cursor:pointer 的效果是一样的,都像光标指向链接一样,光标变成手行。cursor:hand :IE完全支持。但是在firefox是不支持的,没有效果。cursor:pointer :是CSS2.0的标准。所以firefox是支持的,但是IE5.0既之前版本不支持。IE6开始支持。结论:还是用 cursor:pointer 来的方便。转载 2014-08-29 12:35:25 · 862 阅读 · 0 评论 -
Java int 与 string的转换
1 如何将字串 String 转换成整数 int? A. 有两个方法:1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]);2). int i = Integer.valueOf(my_str).intValue(); 注: 字串转成 Double, Float, Long 的方法转载 2015-06-11 17:24:11 · 423 阅读 · 0 评论 -
web缓存--Ehcache使用
如果想使用缓存玩玩,也可以自己写个,就是用map集合。 写个MyCache类package com.xingguo.util;import java.util.HashMap;import java.util.Map;public class MyCache { private MyCache(){} private static Map<String,Object> cache =原创 2015-07-14 17:48:49 · 575 阅读 · 0 评论 -
int和Integer有什么区别?
这个问题看起来比较简单,可以问的问题可多可少。 一般常见的考察范围是java的基础数据类型和包装类。然后可以延伸到自动拆箱和自动装箱以及包装类中的缓存和缓存范围。当然还可以延伸到设计模式–享元模式等。 首先比较典型的回答:Integer是int的包装类,int是基础数据类型Integer变量必须实例化后才能使用,int变量不需要Integer是对象的引用,指向new出Integer对...原创 2018-08-05 15:51:29 · 2885 阅读 · 0 评论 -
aop expression execution
spring AOP 用户可能会经常使用 execution pointcut designator。执行表达式的格式如下:execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?) 除了返回类型模式(上面代码片断中的ret-ty转载 2016-11-15 17:37:29 · 433 阅读 · 0 评论 -
eclipse 删除所有注释及空白行
Ctrl+F 删除java注释: /\*{1,2}[\s\S]*?\*/ Ctrl+F 删除空白行: ^\s*\n Ctrl+F 删除xml注释: <!-[\s\S]*?--> 选择正则表达式,替换全部即可。转载 2016-03-29 15:46:19 · 566 阅读 · 0 评论 -
URL中特殊字符(+?%#&=/)的处理
在url中直接使用一些特殊字符,在服务器端接收的时候经常出现数据丢失的情况。 那么哪些字符能够直接被服务器识别,哪些有不能呢? 字符“a-z”,”A-Z”,”0-9”,”.”,”-“,”_”,”*”都会直接被服务器识别,维持原值。 然而,字符”+”,”/”,”?”,”%”,”#”,”&”,”=”都将被转码。那么我们就需要转码来让服务器进行识别。“+” url中+号的表示空格原创 2015-09-17 11:24:39 · 20501 阅读 · 0 评论 -
Spring集成Quartz定时任务框架介绍和Cron表达式详解
在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等。 我们可以使用java.util.Timer结合java.util.TimerTask来完成这项工作,但时调度控制非常不方便,并且我们需要大量的代码。 使用Quartz框架无疑是非常好的选择,并且与Spring可以非常方便的集成,下面介绍它们集成方法和Cron表达式的详细介绍。一、增加所依赖的JAR转载 2015-08-04 15:45:42 · 374 阅读 · 0 评论 -
日志管理--log4j
使用log4j需要先导入log4j的jar包,下载地址log4j官网。首先需要新建log4j.properties的配置文件,直接放在src目录下,或者新建一个与src并列的etc文件夹。用来存放配置文件。 配置log4j.propertieslog4j.appender.xing=org.apache.log4j.ConsoleAppenderlog4j.appender.xing.layou原创 2015-07-20 15:07:54 · 365 阅读 · 0 评论 -
jquery.autocomplete.js的简单使用
jquery.autocomplete.js这个插件使用起来还是比较方便的,这里只介绍一下最实用的。通过ajax读取数据在页面呈现。jsp页面主要代码:<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title><Document></Document></title> <link rel="st原创 2015-07-31 14:27:33 · 2972 阅读 · 0 评论 -
几对集合类的比较
在进行Java开发时,JDK已经为我们提供了集合类。下面分别介绍: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMapCollection接口 Collection是最基本的集合接口,代表一组元素(Elements)。需要转载 2015-07-19 22:08:40 · 410 阅读 · 0 评论