自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(464)
  • 资源 (26)
  • 收藏
  • 关注

原创 ThreadLocal原理及内存泄露

前言在介绍ThreadLocal之前,先说两个概念内存泄露与内存溢出: 内存泄漏memory leak:是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。 内存溢出 out of memory:没内存可以分配给新的对象了。 强引用: 不会被回收的内存。 软引用: 内部不足的时候回收的内存。 弱引用: 存活到垃圾回收前的内存。Thr...

2020-06-19 09:33:51 858

原创 Linux十字病毒查杀处理

https://blog.51cto.com/ixdba/2163018一、现象接到客户的电话,说自己的云服务器被提供商禁止访问了,原因是监测到网络流量暴满,服务器不停的向外发包,在确认客户没有业务量突增的情况下,初步判断可能服务器遭受了流量攻&击(DDOS),不过按照常理来说,客户的业务系统就是一个小的web系统,平时流量不大,影响力也一般,不至于遭受DDOs,带着这些疑问...

2020-02-12 14:53:07 648 1

原创 使用shell脚本实现自动SSH互信功能(免密登录)

说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免密码登录,该如何用shell脚本实现?#!/bin/expect #循环1000台机器的IP地址,生成密钥文件authorized_keys for ip in {cat ip.list}do ssh user@$ip ssh-keygen -t rsa &>/dev/null e...

2020-02-12 14:11:37 1282

原创 nginx 查看每秒有多少访问量

nginx访问量统计1.根据访问IP统计UVawk ‘{print $1}’ access.log|sort | uniq -c |wc -l2.统计访问URL统计PVawk ‘{print $7}’ access.log|wc -l3.查询访问最频繁的URLawk ‘{print $7}’ access.log|sort | uniq -c |sort -n -k 1 -...

2019-08-17 17:09:42 1196

原创 微信小程序、公众号内嵌H5页面调用微信扫一扫

小程序内嵌H5调用微信扫一扫的功能,通过小程序webview来实现,具体方法与思路代码如下:但是,小程序踩坑之路并没有结束。在公众号网页中通过配置APPID和appsecret可以正常调起微信扫一扫,但是,如何在小程序webview中调用扫一扫?扫描之后数据如何处理?小程序页面处理?还是传递给H5页面处理?无奈之下,只得另寻他法。网上有人说,可以在H5页面使用wx.miniProgram....

2019-06-29 16:26:04 10737 3

原创 java通过Exchange协议发送邮件

1、由于公司邮箱采用微软的,所以之前使用STMP协议发送业务告知邮件的业务代码需要变更。首先需要在项目引入以下Jar包 <!-- 微软邮箱 --> <dependency> <groupId>com.microsoft.ews-java-api</groupId> <artifactId>ews-java-api&l...

2019-05-27 17:53:10 12517 7

原创 采用Redis、Java的BitSet布隆过滤器去重

BloomFilter算法及其适用场景  BloomFilter是利用类似位图或者位集合数据结构来存储数据,利用位数组来简洁的表示一个集合,并且能够快速的判断一个元素是不是已经存在于这个集合。因为基于Hash来计算数据所在位置,所以BloomFilter的添加和查询操作都是O(1)的。因为存储简洁,这种数据结构能够利用较少的内存来存储海量的数据。那么,还有这种时间和空间两全其美的算法?当然不是...

2019-05-05 17:41:48 2873

原创 jmap、jstack、jps无法连接jvm解决办法

一、背景在对线上服务器的java应用dump操作时发现,以下报错,不能dump。jps也获取不到java进程的pid。# jmap -dump:file=/data/dump/jvm_en.hprof 2017620176: Unable to open socket file: target process not responding or HotSpot VM not loade...

2019-04-29 11:22:52 1414

原创 JVM性能调优及线上故障问题排查步骤

一、发现问题下面是线上机器的cpu使用率,可以看到从4月8日开始,随着时间cpu使用率在逐步增高,最终使用率达到100%导致线上服务不可用,后面重启了机器后恢复。二、排查思路简单分析下可能出问题的地方,分为5个方向:系统本身代码问题 内部下游系统的问题导致的雪崩效应 上游系统调用量突增 http请求第三方的问题 机器本身的问题三、开始排查查看日志,没有发现集中的错...

2019-04-29 11:22:11 4373 2

原创 Zookeeper实现可重入分布式锁

原理见快速理解Zookeeper实现分布锁的原理及代码实现抽象的OrderService接口:public interface OrderService { void createOrder();}订单号生成类(模拟公共资源ps:需要用锁的地方):import java.text.SimpleDateFormat;import java.util.Date;...

2019-04-18 15:36:43 1017

原创 快速理解Zookeeper实现分布锁的原理及代码实现

如何用Zookeeper实现分布式锁?网上好多采用ZK实现分布式锁都只能够应付一般使用场景,但存在着如下两个问题:1、锁的获取顺序和最初客户端争抢顺序不一致,这不是一个公平锁。每次锁获取都是当次最先抢到锁的客户端。2、羊群效应,所有没有抢到锁的客户端都会监听/exlusive_lock变更。当并发客户端很多的情况下,所有的客户端都会接到通知去争抢锁,此时就出现了羊群效应。而本文章等...

2019-04-18 11:46:04 630

原创 使用雪花算法为分布式下全局ID、订单号等简单解决方案考虑到时钟回拨

1.snowflake简介互联网快速发展的今天,分布式应用系统已经见怪不怪,在分布式系统中,我们需要各种各样的ID,既然是ID那么必然是要保证全局唯一,除此之外,不同当业务还需要不同的特性,比如像并发巨大的业务要求ID生成效率高,吞吐大;比如某些银行类业务,需要按每日日期制定交易流水号;又比如我们希望用户的ID是随机的,无序的,纯数字的,且位数长度是小于10位的。等等,不同的业务...

2019-04-16 14:18:51 7215 1

原创 高效、高并发的分布式ID生成器解决方案

ID生成器是指能产生不重复ID服务的程序,在后台开发过程中,尤其是分布式服务、微服务程序开发过程中,经常会用到,例如,为用户的每个请求产生一个唯一ID、为每个消息产生一个ID等等,ID生成器也是进行无状态服务开发的重要需求之一。ID生成器有其特殊要求:(1)产生的ID不能重复,在任何情况下产生的ID都不能重复,例如:在ID生成器程序重启之后,ID生成器产生的新ID不能与重启之前产生...

2019-04-16 09:41:38 818

原创 分布式防重复提交token设计

大型互联网项目中,很多流量都达到亿级。同一时间很多的人在使用,而每个用户提交表单的时候都可能会出现重复点击的情况,此时如果不做好控制,那么系统将会产生很多的数据重复的问题。怎样去设计一个高可用的防重复提交方案呢?具体问题争论点如下: 1.用户在提交数据后,很多时候总会有重复提交(商城秒抢活动更甚,几乎不可用) 2.系统每天宕机好几次(后经代码+服务器数据分析,a各种流没使用...

2019-04-15 20:22:19 522

原创 jvm参数陷阱

-XX:MaxTenuringThreshold-XX:MaxTenuringThreshold只对串行回收器和ParNew有效,对ParallGC无效。存活次数在串行和ParNew方式中可通过-XX:MaxTenuringThreshold来设置,ParallelScavenge则根据运行状态来决定。-XX:PretenureSizeThreshold-XX:PretenureSiz...

2019-04-09 17:05:41 699

原创 nginx配置详解及如何解决跨域、GEO白名单、限速、限流(防止DDOS攻击)

本配置中有些功能是在window下测试,而由于windows下nginx好像对有些功能有限制,所以只做了名词功能标注,功能注释了##定义nginx运行的用户各用户组#user nobody;##nginx进程数,建议设置与cpu核心数一致worker_processes 1;#windows下好像不支持#worker_cpu_affinity 00000001 00000010...

2019-03-30 17:53:34 1234

原创 Spring-session(spring-session-data-redis)实现分布式下Session共享

由于公司项目是单节点的,同事在开发过程中并未做Session共享,由于流量上升后,领导未经过了解直接加机器、加节点;大家可想而知了,项目中运行过程出现很多问题,经过同事们系列排查,才知道是由于上面原因导致拿不到Session。大家在项目采用Spring-Session时一定要注意项目中Spring的版本,否则会给你带成很多坑,首先,Spring-Session所需的最低SPring版本是3.2...

2019-03-13 12:58:39 4892

原创 Java多线程系列--“JUC线程池”06之 Callable和Future

概要本章介绍线程池中的Callable和Future。Callable 和 Future 简介  Callable 和 Future 是比较有趣的一对组合。当我们需要获取线程的执行结果时,就需要用到它们。Callable用于产生结果,Future用于获取结果。1. CallableCallable 是一个接口,它只包含一个call()方法。Callable是一个返回结果并且可能...

2019-03-06 09:55:18 185

原创 Java多线程系列--“JUC线程池”05之 线程池原理(四)

概要本章介绍线程池的拒绝策略。内容包括:拒绝策略介绍线程池的拒绝策略,是指当任务添加到线程池中被拒绝,而采取的处理措施。当任务添加到线程池中之所以被拒绝,可能是由于:第一,线程池异常关闭。第二,任务数量超过线程池的最大限制。线程池共包括4种拒绝策略,它们分别是:AbortPolicy,CallerRunsPolicy,DiscardOldestPolicy和DiscardPo...

2019-03-06 09:51:30 148

原创 Java多线程系列--“JUC线程池”04之 线程池原理(三)

本章介绍线程池的生命周期。在"Java多线程系列--“基础篇”01之 基本概念"中,我们介绍过,线程有5种状态:新建状态,就绪状态,运行状态,阻塞状态,死亡状态。线程池也有5种状态;然而,线程池不同于线程,线程池的5种状态是:Running,SHUTDOWN,STOP,TIDYING,TERMINATED。线程池状态定义代码如下:private final AtomicI...

2019-03-05 12:34:10 145

原创 Java多线程系列--“JUC线程池”03之 线程池原理(二)

概要在前面一章"Java多线程系列--“JUC线程池”02之 线程池原理(一)"中介绍了线程池的数据结构,本章会通过分析线程池的源码,对线程池进行说明。内容包括:线程池示例在分析线程池之前,先看一个简单的线程池示例。import java.util.concurrent.Executors;import java.util.concurrent.ExecutorServi...

2019-03-05 12:31:17 95

原创 Java多线程系列--“JUC线程池”02之 线程池原理(一)

概要在上一章"Java多线程系列--“JUC线程池”01之 线程池架构"中,我们了解了线程池的架构。线程池的实现类是ThreadPoolExecutor类。本章,我们通过分析ThreadPoolExecutor类,来了解线程池的原理。内容包括:ThreadPoolExecutor简介ThreadPoolExecutor是线程池类。对于线程池,可以通俗的将它理解为"存放一定数量线...

2019-03-05 12:27:05 135

原创 Java多线程系列--“JUC线程池”01之 线程池架构

概要前面分别介绍了"Java多线程基础"、"JUC原子类"和"JUC锁"。本章介绍JUC的最后一部分的内容——线程池。内容包括:线程池架构图线程池的架构图如下:1. Executor它是"执行者"接口,它是来执行任务的。准确的说,Executor提供了execute()接口来执行已提交的 Runnable 任务的对象。Executor存在的目的是提供一种将"任务提交...

2019-03-05 11:47:24 147

转载 Java多线程系列--“JUC集合”10之 ConcurrentLinkedQueue

概要本章对Java.util.concurrent包中的ConcurrentHashMap类进行详细的介绍。内容包括:ConcurrentLinkedQueue介绍ConcurrentLinkedQueue是线程安全的队列,它适用于“高并发”的场景。它是一个基于链接节点的无界线程安全队列,按照 FIFO(先进先出)原则对元素进行排序。队列元素中不可以放置null元素(内部实现...

2019-03-05 11:29:10 207

原创 Java多线程系列--“JUC集合”09之 LinkedBlockingDeque

概要本章介绍JUC包中的LinkedBlockingDeque。内容包括:LinkedBlockingDeque介绍LinkedBlockingDeque是双向链表实现的双向并发阻塞队列。该阻塞队列同时支持FIFO和FILO两种操作方式,即可以从队列的头和尾同时操作(插入/删除);并且,该阻塞队列是支持线程安全。此外,LinkedBlockingDeque还是可选容量的(防...

2019-03-05 11:24:37 149

原创 Java多线程系列--“JUC集合”08之 LinkedBlockingQueue

概要本章介绍JUC包中的LinkedBlockingQueue。内容包括:LinkedBlockingQueue介绍LinkedBlockingQueue是一个单向链表实现的阻塞队列。该队列按 FIFO(先进先出)排序元素,新元素插入到队列的尾部,并且队列获取操作会获得位于队列头部的元素。链接队列的吞吐量通常要高于基于数组的队列,但是在大多数并发应用程序中,其可预知的性能要低。...

2019-03-05 11:20:47 183

转载 Java多线程系列--“JUC集合”07之 ArrayBlockingQueue

概要本章对Java.util.concurrent包中的ArrayBlockingQueue类进行详细的介绍。内容包括:ArrayBlockingQueue介绍ArrayBlockingQueue是数组实现的线程安全的有界的阻塞队列。线程安全是指,ArrayBlockingQueue内部通过“互斥锁”保护竞争资源,实现了多线程对竞争资源的互斥访问。而有界,则是指ArrayBl...

2019-03-05 11:15:29 160

转载 Java多线程系列--“JUC集合”06之 ConcurrentSkipListSet

概要本章对Java.util.concurrent包中的ConcurrentSkipListSet类进行详细的介绍。内容包括:ConcurrentSkipListSet介绍ConcurrentSkipListSet是线程安全的有序的集合,适用于高并发的场景。ConcurrentSkipListSet和TreeSet,它们虽然都是有序的集合。但是,第一,它们的线程安全机制不同,...

2019-03-05 11:09:51 188

转载 Java多线程系列--“JUC集合”05之 ConcurrentSkipListMap

概要本章对Java.util.concurrent包中的ConcurrentSkipListMap类进行详细的介绍。内容包括:ConcurrentSkipListMap介绍ConcurrentSkipListMap是线程安全的有序的哈希表,适用于高并发的场景。ConcurrentSkipListMap和TreeMap,它们虽然都是有序的哈希表。但是,第一,它们的线程安全机制不...

2019-03-05 11:04:21 312

原创 Java多线程系列--“JUC集合”04之 ConcurrentHashMap

概要本章是JUC系列的ConcurrentHashMap篇。内容包括:ConcurrentHashMap介绍ConcurrentHashMap是线程安全的哈希表。HashMap,Hashtable, ConcurrentHashMap之间的关联如下:  HashMap是非线程安全的哈希表,常用于单线程程序中。  HashMap是线程安全的哈希表,它是通过sync...

2019-03-04 17:05:00 193

原创 Java多线程系列--“JUC集合”03之 CopyOnWriteArraySet

概要本章是JUC系列中的CopyOnWriteArraySet篇。接下来,会先对CopyOnWriteArraySet进行基本介绍,然后再说明它的原理,接着通过代码去分析,最后通过示例更进一步的了解CopyOnWriteArraySet。内容包括:CopyOnWriteArraySet介绍它是线程安全的无序的集合,可以将它理解成线程安全的HashSet。有意思的是,CopyOnWrit...

2019-03-04 16:55:18 163

转载 Java多线程系列--“JUC集合”02之 CopyOnWriteArrayList

概要本章是"JUC系列"的CopyOnWriteArrayList篇。接下来,会先对CopyOnWriteArrayList进行基本介绍,然后再说明它的原理,接着通过代码去分析,最后通过示例更进一步的了解CopyOnWriteArrayList。内容包括:CopyOnWriteArrayList介绍它相当于线程安全的ArrayList。和ArrayList一样,它是个可变数组;但是和A...

2019-03-04 16:49:06 227

原创 Java多线程系列--“JUC集合”01之 框架

概要之前,在"Java 集合系列目录(Category)"中,讲解了Java集合包中的各个类。接下来,将展开对JUC包中的集合进行学习。在学习之前,先温习一下"Java集合包"。本章内容包括:Java集合包在“Java 集合系列01之 总体框架”中,介绍java集合的架构。主体内容包括Collection集合和Map类;而Collection集合又可以划分为List(队列)和...

2019-03-04 16:40:07 157

原创 Java多线程系列--“JUC锁”11之 Semaphore信号量的原理和示例

概要本章,我们对JUC包中的信号量Semaphore进行学习。内容包括:Semaphore简介Semaphore是一个计数信号量,它的本质是一个"共享锁"。信号量维护了一个信号量许可集。线程可以通过调用acquire()来获取信号量的许可;当信号量中有可用的许可时,线程能获取该许可;否则线程必须等待,直到有可用的许可为止。 线程可以通过release()来释放它所持有的信号...

2019-03-04 16:18:50 213

原创 Java多线程系列--“JUC锁”10之 CyclicBarrier原理和示例

概要本章介绍JUC包中的CyclicBarrier锁。内容包括:CyclicBarrier简介CyclicBarrier是一个同步辅助类,允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。因为该 barrier在释放等待线程后可以重用,所以称它为循环 的 barrier。注意比较CountDownLatch和CyclicBarr...

2019-03-04 16:05:03 140

原创 Java多线程系列--“JUC锁”09之 CountDownLatch原理和示例

概要前面对"独占锁"和"共享锁"有了个大致的了解;本章,我们对CountDownLatch进行学习。和ReadWriteLock.ReadLock一样,CountDownLatch的本质也是一个"共享锁"。本章的内容包括:CountDownLatch简介CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。Cou...

2019-03-04 15:58:05 133

原创 Java多线程系列--“JUC锁”08之 共享锁和ReentrantReadWriteLock

概要Java的JUC(java.util.concurrent)包中的锁包括"独占锁"和"共享锁"。在“Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock”中,对Java的独占锁进行了说明。本章对Java的“共享锁”进行介绍,JUC中的共享锁有CountDownLatch, CyclicBarrier, Semaphore, ReentrantReadWriteLoc...

2019-03-04 15:53:16 161

原创 Java多线程系列--“JUC锁”07之 LockSupport

概述本章介绍JUC(java.util.concurrent)包中的LockSupport。内容包括:LockSupport介绍LockSupport是用来创建锁和其他同步类的基本线程阻塞原语。LockSupport中的park() 和 unpark() 的作用分别是阻塞线程和解除阻塞线程,而且park()和unpark()不会遇到“Thread.suspend 和 Thread...

2019-03-04 15:29:09 163

原创 Java多线程系列--“JUC锁”06之 Condition条件

概要前面对JUC包中的锁的原理进行了介绍,本章会JUC中对与锁经常配合使用的Condition进行介绍,内容包括:Condition介绍Condition的作用是对锁进行更精确的控制。Condition中的await()方法相当于Object的wait()方法,Condition中的signal()方法相当于Object的notify()方法,Condition中的signalAl...

2019-03-04 15:23:05 107

原创 Java多线程系列--“JUC锁”05之 非公平锁

概要前面两章分析了"公平锁的获取和释放机制",这一章开始对“非公平锁”的获取锁/释放锁的过程进行分析。内容包括参考代码下面给出Java1.7.0_40版本中,ReentrantLock和AQS的源码,仅供参考!ReentranLock.javaAQS(AbstractQueuedSynchronizer.java)获取非公平锁(基于JDK1.7.0_40)非...

2019-03-02 15:55:05 105

在应用层通过spring特性解决数据库读写分离代码

在应用层通过spring特性解决数据库读写分离代码

2016-03-22

用Java实现FTP批量大文件上传下载

用Java实现FTP批量大文件上传下载

2014-06-30

Android之SQLite分页表格源码

关于Android之SQLite分页表格,使用SQLite作为数据库实现数据分页显示的表格

2014-06-26

Struts2返回JSON数据的具体应用范例 Struts2_JSON_Demo

Struts2返回JSON数据的具体应用范例

2013-03-05

点阵字库在JAVA中的实现源码

点阵字库在JAVA中的实现源码

2012-12-25

fatjar用于打包可执行的jar文件软件

fatjar用于打包可执行的jar文件软件

2012-11-12

exe4j安装包

exe4j安装包文件

2012-11-12

Swing下CS结构软件自动升级实现

前段时间做了一个工具发布给公司的各部门使用后反馈了不少BUG,每次修改后均需要发邮件通知各用户替换最新版本,很不方便,因此后来就写了一个自动升级的功能,这样每次发布新的版本时只需要将其部署到自动升级服务器上,工具使用用户运行工具时就会连接到自动升级服务器,检查是否有版本更新,如果有则完成更新后再运行最新版本,否则就运行当前工具版本。 为了使这个自动升级模块具有通用性,我将其做成可以单独运行的程序,而并非集成到工具中,这样则可以为各类软件提供自动升级的功能。自动升级模块采用SOCKET方式实现升级客户端与服务端的交互,通过版本控制文件autoupdate.xml来控制版本的更新,完成自动更新后会将历史清单history.htm也发送给客户端,并自动打开该文件,使用户可以对本次升级的具体内容一目了然。

2012-10-16

java图片压缩处理 支持gif

java图片压缩处理

2012-10-15

java处理GIF文件格式时进行相关分析的类

生成和解析动态的GIF图片 有了以上对图象的基本处理之后,我们再来看看对动态GIF图片的处理。 GIF是一种由CompuServe创建的压缩和传送图像文件的格式。 GIF图像是基于颜色列表的(存储的数据是该点的颜色对应于颜色列表的索引值),最多只支持8位(256色)。GIF文件内部分成许多存储块,用来存储多幅图像(Frame)或者是决定图像表现行为的控制块,用以实现动画和交互式应用。因此我们要生成和分析GIF图像的话,就需要对GIF文件格式进行分析,

2012-10-15

图像数字水印的JAVA实现

第1章 概述 1.1 数字水印的研究 1.1.1 历史及现状 1.1.2 数字水印分类 1.1.3 数字水印评价标准 1.2 JAVA语言介绍 第2章 可见图像数字水印 2.1 可见图像数字水印JAVA程序设计 2.1.1 图像文件像素的获取 2.1.2 图像文件三维像素矩阵 2.1.3 可见水印的嵌入 2.1.4 三维像素矩阵的逆变换 2.1.5 像素转换成图像文件 2.2 JPG-24BPP可见图像数字水印JAVA实现 2.2.1 创建新文件 2.2.2 嵌入可见水印 2.3 BMP-8BPP可见图像数字水印JAVA实现 2.4 JPG-8BPP可见图像数字水印JAVA实现 2.4.1 创建新文件 2.4.2 嵌入可见水印 第3章 FDCT图像数字水印 3.1 二维DCT变换介绍 3.1.1 二维DCT变换原理 3.1.2 二维DCT变换举例 3.2 二维图像FDCT的JAVA实现 第4章 FFT图像数字水印 4.1 DFT原理 4.1.1 DFT的定义 4.1.2 二维DFT的性质 4.1.3 DFT图像 4.2 一维FFT 4.2.1 DIT-FFT算法基本原理 4.2.2 DIT-FFT编程思路 4.2.3 一维IFFT的JAVA实现 4.3 二维FFT的JAVA实现 4.4 二维图像FFT的 JAVA实现 4.4.1 二维图像FFT幅度谱JAVA实现 4.4.2 二维图像FFT数字水印JAVA实现 第5章 FDWT图像数字水印 5.1 卷积运算JAVA实现 5.1.1 卷积运算介绍 5.1.2 卷积运算JAVA实现 5.2 一维FDWT的JAVA实现 5.2.1 一维FDWT原理 5.2.2 一维FIDWT原理 5.2.3 一维FDWT的JAVA实现 5.2.4 一维FIDWT的JAVA实现 5.3 二维FDWT的JAVA实现 5.3.1 二维FDWT原理 5.3.2 二维FDWT的JAVA实现 5.3.3 二维FIDWT的JAVA实现 5.4 二维图像FDWT的JAVA实现 5.5 二维图像FDWT数字水印JAVA实现 第6章 RSA公钥数字水印 6.1 公钥密码算法预备知识 6.1.1 素数和模运算 6.1.2 费尔码和欧拉定理 6.1.3 欧几里德算法 6.2 RSA公钥密码算法 6.3 RSA算法JAVA实现 6.3.1 素数生成JAVA实现 6.3.2 素数测试JAVA实现 6.3.3 e类JAVA实现 6.3.4 d类的JAVA实现 6.3.5 微型RSA算法JAVA实现 6.3.6 260 bits素数JAVA实现 6.3.7 130 bit e、d和518 bits n的JAVA实现 6.3.8 RSA算法的JAVA实现 6.4 图像RSA公钥加密JAVA实现 6.5 图像RSA公钥数字水印JAVA实现 第7章 视觉隐藏水印技术 7.1 DCT视觉感知模型 7.1.1 DCT视觉感知模型原理 7.1.2 Watson视觉感知模型 7.1.3 Watson视觉感知模型JAVA实现 7.2 小波视觉感知模型 7.2.1 小波视觉感知掩蔽函数 7.2.2 小波视觉感知模型原理 7.2.3 小波视觉感知模型JAVA实现 第8章 图像特征提取JAVA实现 8.1 仿射变换 8.2 灰度图与图像分割 8.2.1 灰度图 8.2.2 阈值分割 8.3 图像不变矩 8.3.1 平移旋转 8.3.2 原点矩、中心矩和Hu不变矩 8.3.3 抽取绿色分量预处理JAVA实现 8.3.4 灰度图分割JAVA实现 8.3.5 Hu不变矩提取二值图像特征值JAVA实现 第9章 数字水印技术在手机领域的应用 9.1 J2ME概述 9.2 J2ME安装与运行 9.2.1 J2ME开发环境安装与配置 9.2.2 J2ME环境下的开发步骤 9.3 MIDP编程 9.3.1 MIDlet生命周期 9.3.2 J2ME常用的类和方法 9.4 J2ME对于图像的操作 9.4.1 图像的像素抓取及修改 9.4.2 通过像素生成图像

2012-10-15

深入Java虚拟机(原书第2版)

深入Java虚拟机(原书第2版).深入Java虚拟机(原书第2版).深入Java虚拟机(原书第2版).

2012-09-26

Java_TCPIP_Socket编程

第1章简介....................................................................................................................................3 1.1 计算机网络,分组报文和协议........................................................................................3 1.2 关于地址............................................................................................................................6 1.3 关于名字............................................................................................................................8 1.4 客户端和服务器................................................................................................................8 1.5 什么是套接字....................................................................................................................9 1.6 练习..................................................................................................................................10 第2章基本套接字......................................................................................................................10 2.1 套接字地址......................................................................................................................10 2.2 TCP套接字.......................................................................................................................17 2.2.1 TCP客户端............................................................................................................17 2.2.2 TCP服务器端........................................................................................................22 2.2.3 输入输出流...........................................................................................................26 2.3 UDP套接字......................................................................................................................28 2.3.1 DatagramPacket类...............................................................................................28 2.3.2 UDP客户端...........................................................................................................30 2.3.3 UDP服务器端.......................................................................................................36 2.3.4 使用UDP套接字发送和接收信息......................................................................38 2.4 练习..................................................................................................................................40 第3章发送和接收数据...............................................................................................................41 3.1 信息编码..........................................................................................................................42 3.1.1 基本整型...............................................................................................................42 3.1.2 字符串和文本.......................................................................................................48 3.1.3 位操作:布尔值编码...........................................................................................50 3.2 组合输入输出流..............................................................................................................51 3.3 成帧与解析......................................................................................................................52 3.4 Java特定编码...................................................................................................................58 3.5 构建和解析协议消息......................................................................................................59 3.5.1 基于文本的表示方法...........................................................................................62 3.5.2 二进制表示方法...................................................................................................65 3.5.3 发送和接收...........................................................................................................67 3.6 结束..................................................................................................................................76 3.7 练习..................................................................................................................................76 第4章进阶..................................................................................................................................77 4.1 多任务处理......................................................................................................................77 4.1.1 Java 多线程..........................................................................................................78 4.1.2 服务器协议...........................................................................................................80 4.1.3 一客户一线程.......................................................................................................84 4.1.4 线程池...................................................................................................................86 4.1.5 系统管理调度:Executor接口...........................................................................89 4.2 阻塞和超时......................................................................................................................91 4.2.1 accept(),read()和receive()....................................................................................91 4.2.2 连接和写数据.......................................................................................................92 4.2.3 限制每个客户端的时间.......................................................................................92 4.3 多接收者..........................................................................................................................94 4.3.1 广播.......................................................................................................................94 4.3.2 多播.......................................................................................................................95 4.4 控制默认行为................................................................................................................100 4.4.1 Keep-Alive...........................................................................................................100 4.4.2 发送和接收缓存区的大小.................................................................................101 4.4.3 超时.....................................................................................................................101 4.4.4 地址重用.............................................................................................................102 4.4.5 消除缓冲延迟.....................................................................................................102 4.4.6 紧急数据.............................................................................................................103 4.4.7 关闭后停留.........................................................................................................103 4.4.8 广播许可.............................................................................................................103 4.4.9 通信等级.............................................................................................................104 4.4.10 基于性能的协议选择.......................................................................................104 4.5 关闭连接........................................................................................................................104 4.6 Applets...........................................................................................................................111 4.7 结束................................................................................................................................112 4.8 练习................................................................................................................................112 第5章 NIO.................................................................................................................................112 5.1 为什么需要NIO?........................................................................................................113 5.2 与Buffer一起使用Channel..........................................................................................115 5.3 Selector...........................................................................................................................118 5.4 Buffer详解.....................................................................................................................125 5.4.1 Buffer索引...........................................................................................................125 5.4.2 创建Buffer..........................................................................................................126 5.4.3 存储和接收数据.................................................................................................128 5.4.4 准备Buffer:clear(),flip(),和rewind()........................................................130 5.4.5 压缩Buffer中的数据..........................................................................................132 5.4.6 Buffer透视:duplicate(),slice()等..................................................................134 5.4.7 字符编码.............................................................................................................136 5.5 流(TCP)信道详解....................................................................................................136 5.6 Selector详解...................................................................................................................139 5.6.1 在信道中注册.....................................................................................................139 5.6.2 选取和识别准备就绪的信道.............................................................................141 5.6.3 信道附件.............................................................................................................143 5.6.4 Selector小结........................................................................................................144 5.7 数据报(UDP)信道...................................................................................................144 5.8 练习................................................................................................................................149 1. 使用定长的写缓冲区改写TCPEchoClientNonblocking.java。....................................149 2.使用Buffer和DatagramChannel编写一个回显客户端。................................................149 第6章深入剖析........................................................................................................................149 6.1 缓冲和TCP....................................................................................................................152 6.2 死锁风险........................................................................................................................155 6.3 性能相关........................................................................................................................158 6.4 TCP套接字的生存周期.................................................................................................158 6.4.1 连接.....................................................................................................................158 6.4.2 关闭TCP连接.....................................................................................................164 6.5 解调多路复用揭秘........................................................................................................167 6.6 练习...............................................................................................................................

2012-09-26

Java 并发编程实战

Java 并发编程实战

2012-09-26

Java虚拟机规范(Java SE 7版).

Java虚拟机规范(Java SE 7版).

2012-09-26

Java RMI 开发技术

Java RMI 开发技术英文版资源PDF格式

2012-09-26

借助浏览器控件利用CSS和JavaScript设计Java桌面程序界面

借助浏览器控件利用CSS和JavaScript设计Java桌面程序界面

2012-09-26

Java制作的快速打开文件夹、程序的小工具 .

Java制作的快速打开文件夹、程序的小工具

2012-09-26

Java网络高级编程

Java网络高级编程

2012-02-23

MySQL入门常用操作命令收集.

MySQL入门常用操作命令收集,集合的mysql中常用的命令操作方法

2012-02-23

Java.P2P技术内幕

Java.P2P技术内幕,描述了p2p技术的实现内幕

2012-02-18

Swing 截屏程序

Swing 截屏程序Swing 截屏程序

2012-02-18

Ext 2.0中文API(最新版)Ext 2 API Documentation

Ext 2.0中文API(最新版)Ext 2 API Documentation

2010-05-08

很适合学习EXTJS的中文手册

是一个很好的EXTJS中文版手册,很适合那些初学EXTJS的学者

2010-05-08

ASP微型调试工具 小旋风ASP服务器

ASP微型调试工具 ASP微型测试工具 小旋风ASP服务器

2009-04-16

良好体验度的注册系统ASP.NET版本

良好体验度的注册系统ASP.NET版本Asp.NET+AJAX *特点和知识点: 1.AJAX验证用户名和验证码,同时异步进行用户名注册(都属于AJAX的很基础部分) 2.支持验证码刷新(包括firefox平台下) 3.密码,邮箱,用户名等即时检测(利用javascript DOM) 4.HTML通过W3C Strict验证,CSS也通过W3C CSS验证(其实这个有点多余,并不完全必要)

2008-12-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除