
java
文章平均质量分 54
huaweitman
这个作者很懒,什么都没留下…
展开
-
select,poll,epoll
select,poll,epoll都是IO多路复用的机制。I/O多路复用就是通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用户空间。I/O复用模型会用到select、poll、epoll函数:对一个IO端口,两次调用,两次返回,比原创 2022-06-07 09:32:27 · 1121 阅读 · 0 评论 -
AIO概述
NIO2.0引入了新的异步通道的概念,并提供了异步文件通道和异步套接字通道的实现。异步通道提供两种方式获取获取操作结果:CompletionHandler接口的实现类作为操作完成的回调。NIO2.0的异步套接字通道是真正的异步非阻塞IO,它对应Unix网络编程中的事件驱动IO(AIO),它不需要通过多路复用器(Selector)对注册的通道进行轮询操作即可实现异步读写,简化了NIO的编程模型。AIO方式适用于连接数目多且连接比较长的架构,比如相册服务器,充分调用OS参与并发操作,编程比较复杂,JDK1.7开原创 2022-06-04 19:12:56 · 1512 阅读 · 0 评论 -
SPI原理剖析
SPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。 这一机制为很多框架扩展提供了可能,比如在Dubbo、JDBC中都使用到了SPI机制。 先举个例子新建一个maven工程定义接口 MyApipackage api;public interface MyApi { void sayHello(Strin...原创 2021-12-13 19:16:48 · 598 阅读 · 0 评论 -
生成堆转储快照dump文件命令
jmap -dump:format=b,file=heapdump.phrof pid生成堆转储快照dump文件这个命令执行,JVM会将整个heap的信息dump写入到一个文件,heap如果比较大的话,就会导致这个过程比较耗时,并且执行的过程中为了保证dump的信息是可靠的,所以会暂停应用, 线上系统慎用。...原创 2021-03-23 09:15:46 · 644 阅读 · 0 评论 -
Flink cep参考
Flink进阶-Flink CEP(复杂事件处理)https://cloud.tencent.com/developer/article/1448608Apache Flink CEP 实战https://www.cnblogs.com/zhaowei121/p/12060736.htmlflink CEP简介及简单示例https://blog.youkuaiyun.com/qq_37720936/article/details/107065425...原创 2020-12-17 00:30:39 · 182 阅读 · 0 评论 -
扩展split方法
/** * 扩展split方法 * 支持分割字符为一个数组,遇到数组中任意一个字符就分割 * 分割数组长度固定为2,只分割第一个出现的字符 * * @param charList * @param inputStr * @return */private String[] expandSplit(List<Character> charList, String inputStr) { inputStr = inputStr.trim(); String[] s.原创 2020-10-30 09:12:14 · 317 阅读 · 0 评论 -
将tinyint对应java类型改为Integer
<table tableName="mq_config" domainObjectName="MqConfig" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true"> <columnOverride co.原创 2020-10-20 14:10:45 · 1924 阅读 · 0 评论 -
同步mysql数据到ElasticSearch的最佳实践
https://www.cnblogs.com/mignet/p/MySQL_ElasticSearch_sync_By_logstash_jdbc.html原创 2020-07-16 16:48:07 · 244 阅读 · 0 评论 -
Synchronized 原理
Synchronized 原理如果对上面的执行结果还有疑问,也先不用急,我们先来了解 Synchronized 的原理。再回头上面的问题就一目了然了。我们先通过反编译下面的代码来看看 Synchronized 是如何实现对代码块进行同步的:packagecom.paddx.test.concurrent; publicclassSynchronizedMethod{ publicsynchronizedvoidmethod(){ Syste...原创 2020-06-27 18:34:13 · 167 阅读 · 0 评论 -
rocketmq如何保证消息不丢失
https://www.cnblogs.com/goodAndyxublog/p/12563813.html原创 2020-06-27 11:22:39 · 686 阅读 · 0 评论 -
内存溢出解析
一、内存溢出的原理在C/C++语言中,需要开发者自己管理内存,通过malloc/new分配内存空间,并且需要写配对的delete/free代码。在Java语言中,由Java虚拟机管理内存。冯诺伊曼结构Java虚拟机运行时数据区Java线程共享空间二、哪些区域会内存溢出1.Java堆内存溢出例子public class OutOfMemoryTest {public static void main(Str...原创 2020-06-02 14:28:13 · 476 阅读 · 0 评论 -
限流算法概述
一、限流算法有哪些计数器、滑动窗口、漏桶、令牌桶二、限流算法原理1.计数器一般来说,计数器比较粗暴,就是看单位时间内,所接受的 QPS 的请求有多少,如果超过阈值,则直接拒绝服务缺点:假如我限制1秒QPS为1000,那么在第1ms,涌入1000个请求,剩下的999ms,就只能拒绝服务2.滑动窗口滑动窗口可以看做计数器的精细化实现,之前只能一分钟一分钟往前赶,现在可以根据实现的精细化 一秒一秒往前赶,虽然整体原理还是靠计数器。3.漏桶我们会用一个桶作为缓冲区...原创 2020-06-02 12:42:18 · 386 阅读 · 0 评论 -
日常小计
我的邮箱huaweitalent@gmail.com原创 2013-08-06 11:50:04 · 629 阅读 · 0 评论 -
final与static
final 关键字 和 static 用法一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成原创 2013-08-20 09:40:19 · 933 阅读 · 0 评论 -
java
eclipse workspace安装路径 C:\Users\Administrator\workspace原创 2013-08-13 10:46:02 · 646 阅读 · 0 评论 -
java
"Java基础教程.pdf" http://t.cn/zWApY1P"Java编程思想中文版完整高清第四版.pdf" http://t.cn/zWApY6Q"尚学堂J2SE笔记.docx" http://t.cn/zWAp4et"01_尚学堂_课件_J2SE上半部分.ppt" http://t.cn/zWApbaH"02_尚学堂_课件_J2SE下半部分.ppt"原创 2013-12-14 15:22:03 · 735 阅读 · 0 评论 -
volatile
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是synchronized 的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。锁提供了两种主要特原创 2014-05-26 11:14:42 · 973 阅读 · 2 评论 -
javabean
一、 javabean 是什么?Bean的中文含义是“豆子”,顾名思义,JavaBean是指一段特殊的Java类,就是有默然构造方法,只有get,set的方法的java类的对象. 专业点解释是:JavaBean定义了一组规则JavaBean就是遵循此规则的平常的Java对象 满足这三个条件: 1.执行java.io.Serializable 接原创 2014-08-20 22:01:51 · 1037 阅读 · 0 评论 -
No unique bean of type [net.shougongfang.action.paymoney.AlipayPayMoneyReturnObj] is defined: Unsat
0你把@Service放到实现类上吧。这个问题好像不止一个人在问啦2013年10月25日 10:34shidan66 30 0 1 1添加评论001,@service放到实现上 2,在xml中配置扫描路径 Xml代码 mvc:annotation-drive原创 2014-09-04 14:19:55 · 1133 阅读 · 0 评论 -
Hibernate脏数据检查
脏数据检查: 什么是脏数据?脏数据并不是废弃和无用的数据,而是状态前后发生变化的数据。我们看下面的代码: Transaction tx=session.beginTransaction(); User user=(User)session.load(User.class,”1”);//从数据库中加载符合条件的数据 user.setName(“zx”);//改变了原创 2014-09-04 17:26:36 · 1090 阅读 · 0 评论 -
盘点9个基于Java的搜索引擎框架特性
这个信息相当繁杂的互联网时代,我们已经学会了如何利用搜索引擎这个强大的利器来找寻目标信息,比如你会在Google上搜索情人节如何讨女朋友欢心,你也会在百度上寻找正规的整容医疗机构(尽管有很大一部分广告骗子)。那么如果在你自己开发的网站系统中需要能让用户搜索一些重要的信息,并且能以结构化的结果展现给用户,下面分享的这9款Java搜索引擎框架或许就可以帮助到你了。1、Java 全文搜索引擎转载 2014-09-04 16:39:27 · 1547 阅读 · 0 评论 -
Eclipse全局搜索
Eclipse中全局搜索和更替 Eclipse全局搜索步骤 使用快捷键“ctrl+H”打开文件搜索对话框,选择“File Search”标签,在Containing text中输入你需要搜索的字符串,在Scope中,选择你要搜索的范围,点击Search。 在Search视图中,会列出搜索得到的结果,点击打开属性结构原创 2014-08-20 17:33:38 · 191840 阅读 · 9 评论 -
native
今天研究Java基础类库,Object类的时候,发现了一个关键字:native咦?这是个什么东东?它认识我,我可不认识它!嘿嘿,没关系,baidu一下。 java native关键字 一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个jav原创 2014-09-05 10:51:54 · 1027 阅读 · 0 评论 -
每周四十小时,你有多少是在为自己干活?
努力工作为什么?普通人不外乎希望加薪、升职,过的更好。但是,要想达到这个目标,靠什么?普通人当然要靠提升自己的能力和经验。可是,你是不是已经发现,工作最踏实的,却未必取得最好的结果? 所以,我想跟大家一起思考这个问题:每周五天,每天八小时,你有几个小时在为自己干活?当然,我这里说的为自己干活,说的绝对不是干与工作无关的私活。 如果你今天重复着和昨天一转载 2014-08-20 22:13:45 · 623 阅读 · 0 评论 -
java接口
一般对象比如有个具体的类Person已定义好,要实例化它, 采取的语法是 Person objPerson = new Person();但接口(如IConnection)不能这么做,其不能直接New 自己,如 IConnection objIConnection = new IConnection(),这就是说"照例不可以生成接口的对象"的含义.但面向对象都具有多态,可以向上转型,转载 2014-08-21 20:14:37 · 582 阅读 · 0 评论 -
JAVA缓存
JAVA缓存有两种: 一、文件缓存,是指把数据存储在磁盘上,可以XML格式,也可以序列化文件DAT格式还是其它文件格式。 二、内存缓存,也就是实现一个类中静态Map,对这个Map进行常规的增删查。其代码如下:目录 [隐藏] 1 Cache类 2 CacheManager类 JAVA缓存-Cache类 public class Cache { pr原创 2014-09-06 18:12:44 · 5614 阅读 · 0 评论 -
java缓存2
java中要用到缓存的地方很多,首当其冲的就是持久层缓存,针对持久层谈一下:要实现java缓存有很多种方式,最简单的无非就是static HashMap,这个显然是基于内存缓存,一个map就可以搞定引用对象的缓存,最简单也最不实用,首要的问题就是保存对象的有效性以及周期无法控制,这样很容易就导致内存急剧上升,周期无法控制可以采用SoftReference,WeakReference,Phant转载 2014-09-06 20:32:46 · 892 阅读 · 0 评论 -
Eclipse F键
Eclipse调试:F5、F6、F7、F8转载▼F5:跳入方法F6:向下逐行调试F7:跳出方法F8:直接跳转到下一个断点原创 2014-08-22 17:51:40 · 832 阅读 · 0 评论 -
SSH优质链接
http://www.yihaomen.com/article/java/412.htm原创 2014-08-22 13:14:50 · 739 阅读 · 0 评论 -
hibernate flushmode
这里面的清理缓存可以理解为hibernate自动执行了一次 session.flush();选择什么样的flush mode就是采取对hibernate session采取什么样的数据刷新的策略。Session.setFlushMode()用于设定清理缓存的时间点。对比一下几种flush mode:FlushMode.AUTO: 调用Session的查询方法时,清理原创 2014-08-25 14:44:40 · 2152 阅读 · 0 评论 -
不要让未来的你,讨厌现在的自己
不要让未来的你,讨厌现在的自己原创 2014-08-26 20:29:58 · 945 阅读 · 0 评论 -
对JavaEE中session的理解
在做网站开发的时候,我们经常会用到session对象,下面我来谈谈对session的理解; Java Servlet API引入session 机制来跟踪客户的状态,session指的是在一段时间内,单个客户和web服务器之间一连串的交互过程,在一个session中,一个客户可能会多次请求同一个网页,也可能请求多个不同服务器资源,例如:在一个邮件系统应用中,从一个原创 2014-08-26 14:27:46 · 5973 阅读 · 0 评论 -
为什么android手机越用越慢
根据第三方的调研数据显示,有 77% 的 Android 手机用户承认自己曾遭遇过手机变慢的影响,百度搜索“Android+ 卡慢”,也有超过 460 万条结果。在业内,Android 手机一直有着“越用越慢”的口碑,这个现象甚至超出了硬件范畴——很多中高端 Android 手机在硬件参数上都优于同一代 iPhone,但是它们仍然会在使用半年到一年的时间后进入“欠流畅”的状态——这无疑是一件令人困原创 2014-08-27 21:02:14 · 5099 阅读 · 0 评论 -
Hibernate的cache
Cache就是缓存,它往往是提高系统性能的最重要手段,对数据起到一个蓄水池和缓冲的作用。Cache对于大量依赖数据读取操作的系统而言尤其重要。在大并发量的情况下,如果每次程序都需要向数据库直接做查询操作,它们所带来的性能开销是显而易见的,频繁的网络舆,数据库磁盘的读写操作都会大大降低系统的性能。此时如果能让数据库在本地内存中保留一个镜像,下次访问的时候只需要从内存中直接获取,那么显然可以带来不小的原创 2014-08-28 17:14:52 · 9220 阅读 · 0 评论 -
二级缓存的适用范围
14.2.3.2 二级缓存的适用范围 Hibernate的二级缓存作为一个可插入的组件在使用的时候也是可以进行配置的,但并不是所有的对象都适合放在二级缓存中。 在通常情况下会将具有以下特征的数据放入到二级缓存中:● 很少被修改的数据。● 不是很重要的数据,允许出现偶尔并发的数据。● 不会被并发访问的数据。●原创 2014-08-28 17:40:28 · 1859 阅读 · 0 评论 -
注解
(六) annotateon注解一对多 多的一端只需要正常注解就可以了。需要在一的一端进行注解一对多的关系。使用@OneToMany@Entitypublic class Classes { private int id; private String name; // 一对多通常使用Set来映射,原创 2014-08-28 18:12:55 · 717 阅读 · 0 评论 -
http://www.coder4.com/
http://www.coder4.com/原创 2014-08-30 18:27:05 · 1098 阅读 · 0 评论 -
AtomicInteger
这个类真的非常实用,更重要的是 它确实非常简单:附上自己的代码,可以自己试试:AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。 代码:package test;原创 2014-08-31 13:07:56 · 1055 阅读 · 0 评论 -
深入浅出java并发
http://www.blogjava.net/xylz/archive/2010/07/08/325587.html原创 2014-08-31 13:43:42 · 1097 阅读 · 0 评论 -
设置Hibernate的二级Cache
设置Hibernate的二级Cache需要分两步进行:首先确认使用什么数据并发策略,然后配置缓存过期时间并设置Cache提供器。有4种内置的Hibernate数据并发冲突策略,代表数据库隔离级别,如下:1:事务(Transaction)仅在受管理的环境中可用。它保证可重读的事务隔离级别,可以对读/写比例高,很少更新的数据采用该策略。2:读写(read-write)使用时间戳机制维护读写原创 2014-09-01 12:34:46 · 984 阅读 · 0 评论