
JAVA
文章平均质量分 82
Yeah-小海
天道酬勤,自强不息
展开
-
NIO对文件的简易读写操作以及说明
首先了解一下NIO中的重要概念 通道、缓冲区、选择器通道- 类似于流,但是可以异步读写数据(流只能同步读写),通道是双向的,(流是单向的),通道的数据总是要先读到一个buffer或者 从一个buffer写入,即通道与buffer进行数据交互。 通道类型: o FileChannel:从文件中读写数据的通道。通过使用一个InputStream、Outp原创 2018-01-01 14:47:25 · 1306 阅读 · 0 评论 -
java实现oracle的months_between函数
最近在使用H2内存数据库,在将oracle中的SQL转换为H2中的SQL时,有些函数H2不存在,幸好H2支持自定义函数 ,于是自己使用日历写了下面这个仿oracle的months-between函数: public static double monthsBetween(Date start,Date end){ Calendar startCalendar = Cal...原创 2018-11-02 14:26:24 · 1840 阅读 · 0 评论 -
使用fontbox、pdfbox实现pdf转为image
本文基于fontbox-2.0.12.jar、pdfbox-2.0.12.jar实现pdf文件转为图片public String pdfParserImg(String pdfPath,String imgPath,String imgType) throws IOException{ File file = new File(imgPath); if(file...原创 2018-10-10 15:49:14 · 4170 阅读 · 1 评论 -
包含替换内容的相近字符的replace问题
一种是全量匹配,被替换的字符在该字符中只会存在一次public class StringReplaseUtil extends org.springframework.util.StringUtils{ public static void main(String[] agrs){ String s = "AAASELECT AAA,AAA_B,AA_C,AA ...原创 2018-09-12 15:59:41 · 463 阅读 · 0 评论 -
java 实现搜索附近人功能
查看内容请点击转载地址转载 2018-08-14 20:58:21 · 578 阅读 · 0 评论 -
java通过反射动态调用类的方法
//随便写两个类,可以实现接口,我的需求是不能实现接口,因为没个类中的方法名称都不同,也不存在相同的方法名称public class Fanshe1{ public String selectValue1(String s){ return s+"有效"; } public String selectValue2(String s){ return s+"有效"; }}pu...原创 2018-05-01 09:48:49 · 4954 阅读 · 0 评论 -
权重轮寻算法
轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。轮询调度算法假设所有服务器的处理性能都相同,不关心每台服务器的当前连接数和响应速度。当请求服务间隔时间变化比较大时,轮询调度算法容易导致服务器间的负载不平衡。所以此种均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。...转载 2018-03-13 17:01:01 · 664 阅读 · 0 评论 -
字符串反序都有哪些算法?
package com.linux.util;import java.util.Stack;public class StringReverseOrder { public static void main(String[] args) {// reverOrder1();// reverOrder2();// reverOrder3();// reverOrder4...原创 2018-03-02 16:27:31 · 909 阅读 · 0 评论 -
LinkedHashMap实现原理浅析
LinkedHashMap是Hash表和链表的实现,LinkedHashMap继承于HashMap,在使用父类方法的基础上重新实现了用于维护链表的几个方法函数,这几个函数的作用分别是:节点访问后、节点插入后、节点移除后做的一些事情,下面贴出源码。public class LinkedHashMap<K,V> extends HashMap<K,V> imp...原创 2018-02-13 17:37:09 · 674 阅读 · 0 评论 -
擅用java API 实现LRU,FIFO缓存
原文地址:https://www.cnblogs.com/lzrabbit/p/3734850.htmlLRU是Least Recently Used 的缩写,翻译过来就是“最近最少使用”,LRU缓存就是使用这种原理实现,简单的说就是缓存一定量的数据,当超过设定的阈值时就把一些过期的数据删除掉,比如我们缓存10000条数据,当数据小于10000时可以随意添加,当超过10000时就需要把新的数据添加...转载 2018-02-13 13:29:44 · 260 阅读 · 0 评论 -
JVM内置锁有哪些?
一.自旋锁: 在JDK1.6之前,在多处理器上,两个线程并行执行访问同一个对象锁时,其中一个线程持有了对象锁之后,另一个线程不会被挂起,而是继续占用CPU资源进行一定次数的轮询等待获取锁,超过次数则被挂起,默认是10次,可以通过参数-XX PreBlockSpin更改. 在JDK1.6之后,自旋的时间不在固定,而是由前一次在同一个锁上的自旋时间以及锁的拥有者的状态来决定,也就是在同一原创 2018-02-02 16:59:29 · 949 阅读 · 0 评论 -
java中多线程的实现方式以及生命周期?
前言:Java 给多线程编程提供了内置的支持。一个多线程程序包含两个或多个能并发运行的部分。程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径。多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。这里就不得不说到一个和线程相关的另一个术语 - 进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。但是一个线程不能独立的存在,它必须是进原创 2017-12-23 14:42:55 · 935 阅读 · 0 评论 -
java.util.concurrent.ThreadPoolExecutor及其常用队列
一、首先来看下源码以及参数说明public class ThreadPoolExecutor extends AbstractExecutorService { volatile int runState; static final int RUNNING = 0; static final int SHUTDOWN = 1; static原创 2018-01-06 15:51:58 · 4202 阅读 · 1 评论 -
java并发编程--Executor框架以及Executors类的创建线程池方法
Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程解耦开发,基于生产者-消费者模式,其提交任务的线程相当于生产者,执行任务的线程相当于消费者,并用Runnable来表示任务,Executor的实现还提供了对生命周期的支持,以及统计信息收集,应用程序管理机制和性能监视等机制。1.Exexctor简介E...原创 2018-11-07 15:58:30 · 234 阅读 · 0 评论