背景 做一个功能,在有一批的数据的情况下,处理 内容-->图片,图片-->上传的逻辑。 一个数据集大概几百条数据。需求是可能同时处理几十、几百个数据集。在处理完数据后,需要做汇总处理。 过程 先撸代码在说...
JAVA
任务会重试处理,关于scheduleWithFixedDelay定时线程池的使用
需求 循环处理业务,当一个任务正常执行/延时执行后,顺延2s继续执行下一个。一个任务有点慢,所以就取5条吧。 Executors.newScheduledThreadPool()线程池的scheduleWithFixedDelay方法正好有这种处理机制。...
排序算法的时间复杂度\空间复杂度比较,以及JAVA实现的整理(快排、选择、堆、归并、基数、冒泡、插入)
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, 冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 时间复杂度 O(n)这样的标志叫做渐近时间复杂度,是个近似值.各种渐近时间复杂度由小...
synchronized同步锁是什么?整理分析下这个一直没去细看,面试时问到又不会回答的问题
还在刚工作的时候,碰到了简单的并发问题,通过上网搜索,看到了synchronized关键字,往方法上一放,并发问题解决。由于没有很大很复杂的业务量,所以感觉很厉害的样子。 随着工作年限的增加,发现了问题原来不...
JMS学习-JAVA简单实现生产者、消费者的P2P(point-to-point)模型
最近学习知识点,频繁出现消息机制相关字眼。之前只是用过一些消息队列框架,如activeMQ,rocketMQ等。也只是基于使用,偶然来了兴趣想了解下jms功能的最简化实现是什么,这里做个整理。 JMS什么? JMS即Ja...
利用JAVA的awt组件制作生成红底白字的图片,文字居中适应高度
背景说明 近期程序猿得根据需求要使用java代码生成处理一堆图片,图片是以文章的标题来生成的。字数的长度大小要跟着整体比例进行基本的自适应处理。几百张吧,一次性生成好。 处理过程 JAVA肯定是用a...
继承ClassLoader实现一个简单的自定义类加载器,可加载非项目的类文件
有时候,需要做自定义类加载器,业务场景类似tomcat a)、要保证部署在tomcat上的每个应用依赖的类库相互独立,不受影响。 b)、由于tomcat是采用java语言编写的,它自身也有类库依赖,为了安全考虑,tomcat使用的...
一个有趣的BeatBox发声器示例代码,摘自《Head_First_Java》
一个有趣的利用 javax.swing组件 和 javax.sound组件制作的发声器。早年抄书玩的,可以直接右键运行,可以试试。 package com.chl.play; import java.awt.BorderLayout; import java.awt.GridLayout; impor...
java并发编程中的线程池技术和线程隔离技术的简单示例以及线程池参数的说明整理
并发编程中,经常会听到一些概念,池化技术,线程隔离什么的。具体指什么呢?刚开始我这个假程序员是完全听不懂的。"你把这里池化吧?",what? 后来在实际工作中和书籍中看到,逐渐有了些概念。一些场景需要开...
同步锁重入锁,Java中的Synchronize,Lock,ReentrantLock,ReentrantReadWriteLock,Condition简单示例及说明
在大多数实际的多线程应用中,两个或两个以上的线程需要共享对同一数据的存取。如果两个线程存取相同的对象,并且每一个线程都调用了一个修改该对象状态的方法,会产生并发性问题。两个不同执行空间上的方法在堆...
java中的proxy代理简单说明,以及静态代理和动态代理的简单代码示例
学习编写RPC逻辑示例代码的过程中,有用到java动态代理,所以这里简单整理下,方便日后查阅: 代理是一种模式,提供了对目标对象的间接访问方式,即通过代理访问目标对象。如此便于在目标实现的基础上增加额...
java并发包多线程编程,Semaphore,CountDownLatch,CyclicBarrier,Phaser和FutureTask,Callback,Runnable,Thread,Exchanger,ThreadLocal的简单说明及示例
并发编程在实际工作中应用的并不是很多,但还是需要了解,可以在某些情况下有效的提高代码质量|效率等,也是增加了一种新的实现方案等。 Thread:线程类,由于java单继承的特性,不如runnable容易扩展。 -...
利用jdk1.8新特性lamada表达式、stream流等尝试内部类简写、函数式接口的声明与调用、集合的输出|统计|创建|聚合等处理
JDK1.8已经出来很久了,但是依旧沿用jdk1.5的语法编码。感觉同事会鄙视我这个程序猿的,所以抽空简单的练习了下可能常用的一些功能点,作为记录。 1. 集合元素的遍历 List<String> list = ...