![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java技术点
文章平均质量分 78
深客致远
这个作者很懒,什么都没留下…
展开
-
ODBC与JDBC比较
在学习J2EE的JDBC过程中,刚见到JDBC就马上联想到了ODBC,而且我们可以肯定他们之间有必然的关系。开始学它的时候还是觉得有点晕,于是就查了很多资料,与比较熟悉的ODBC进行了比较。 先各自简单介绍一下ODBC和JDBC。 ODBC(Open Database Connectivity)是一组对数据库访问的标准API,这些API通过SQL来完成大部分任务,而且它本身也支持SQL...转载 2018-03-08 11:58:48 · 8259 阅读 · 0 评论 -
读ConcurrentHashMap源码笔记,体验和HashTable的区别
经研究过jkd1.5新特性,其中ConcurrentHashMap就是其中之一,其特点:效率比Hashtable高,并发性比hashmap好。结合了两者的特点。 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1....原创 2018-02-08 15:54:06 · 257 阅读 · 0 评论 -
动态代理的俩种实现方式
提到设计模式,我们不得不提下代理模式,这里给出其定义:给某一个对象提供一个代理,并由代理对象控制对原对象的引用。说白了就是我们不能直接操作被代理的对象,而只能通过操作代理对象而间接操作被代理的对象。这就好比水厂、送水代理点、用户三者的关系,水厂就是被代理的对象,送水代理点就是代理对象,用户就是要访问被代理对象的客户,用户不能直接跟水厂买水,得去代理点买水,代理点卖水给用户,然后再去水厂进水。spr...原创 2018-03-05 21:05:15 · 3410 阅读 · 0 评论 -
利用Dom,Sax,Pull三种方式解析xml文件
最近找工作,看到许多公司的要求里都写了要会xml解析,所以就把之前的xml解析知识又重新回顾了一下,写个小例子.解析xml文件常用的几种方式也就dom,sax,pull了,并且面试官经常问到的也是这三种解析方式之间的优缺点以及使用情况,先说一下这三种方式的优缺点和使用情况吧:其实dom,sax,pull之间的优缺点网上有很多,讲的搞不好比我的还要深入和贴切,不过还是要说一下,毕竟自己以后还是要回顾...转载 2018-02-27 10:45:57 · 706 阅读 · 0 评论 -
spring配置websocket并实现群发/单独发送消息
spring框架中自带了websocket的jar包,利用它可以实现与H5中WebSocket的对接,甚至websocket还可以通过依赖注入与http请求一同工作,详细配置实现过程如下文件目录结构如下,主要是controller和websocket文件夹1.配置自动扫描加载:<!--如果使用注解,那么只需要下面的配置--><!--组件扫描--><context:...转载 2018-03-06 20:05:49 · 895 阅读 · 0 评论 -
websocket作用及意义
Browser已经支持http协议,为什么还要开发一种新的WebSocket协议呢?我们知道http协议是一种单向的网络协议,在建立连接后,它只允许Browser/UA(UserAgent)向WebServer发出请求资源后,WebServer才能返回相应的数据。而WebServer不能主动的推送数据给Browser/UA,当初这么设计http协议也是有原因的,假设WebServer能主动的推送数...转载 2018-02-11 10:47:45 · 10322 阅读 · 1 评论 -
读LinkedBlockingQueue源码并实现生产者、消费者模式
在日常开发中,我们经常会遇到在高并发的情况下,对于瞬间产生的大量数据来不及处理,这时候该怎么办?总不能数据还没处理就把数据丢弃,那我们该把这些数据存储在哪呢?简单的数组或者util包下的集合类型是不能满足在这种并发情况下存储数据要求的。这时候就得我们自己定义这么一种队列,它能在多线程环境下,当本身没有存储数据或者存满数据的情况下,能够让相应线程阻塞,一旦上面的条件不成立时,可以立马唤醒相应线程去存原创 2018-02-06 11:05:26 · 420 阅读 · 0 评论 -
Java的内省机制
在之前做过的项目中,都涉及到了前后台的交互,当我们将前台页面上获得的参数传递到后台的时候,我们可以利用很多方法,譬如用Ajax的表单提交,或者直接用JQuery封装的Ajax传递。当我们传递到后台的时候,我们还得一个个的接收参数,如果参数少,我们可以很快的解决,如果参数多,我们的代码量就大多了。在Java中,我们也可以用request对象的getParameter方法来接收参数,同理,也解决不了上...转载 2018-02-11 09:21:12 · 146 阅读 · 0 评论 -
java事件监听机制
java事件处理机制(自定义事件)java中的事件机制的参与者有3种角色:1.event object:事件状态对象,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中2.event source:具体的事件源,比如说,你点击一个button,那么button就是event source,要想使button对某些事件进行响应,你就需要注册特定的listener。...转载 2018-02-09 09:55:08 · 446 阅读 · 0 评论 -
运用观察者模式的java回调监听Listenner
java中的监听回调机制说到底是一种观察者设计模式,通过向被监听者对象内部注册一个监听器接口对象,在被监听者的事件函数中调用监听器的回调方法,这样在客户端代码触发被监听者的事件函数时,执行回调方法。//监听器接口interface ClickListenner{ //回调方法 void onclick();}class MyButton{ private ClickLi...原创 2018-02-09 16:56:58 · 945 阅读 · 0 评论 -
websocket基于b/s的全双工通信
websocket是一种h5的b/s长连接全双工通信,与ajax不同,ajax是基于http协议的一种与服务端通信的技术,他只能先由客户端发起http请求,进行一次tcp链接,服务端收到请求进行响应,然后关闭tcp链接,下次浏览器再次请求重复同样动作。但是websocket与服务端通信时虽然底层也是基于tcp协议的,但是他不是浏览器发起请求然后服务端响应的这种模式,websocket是全双工通信的原创 2018-01-28 13:59:38 · 1865 阅读 · 0 评论 -
读Timer源码理解jdk定时任务
在java中实现定时任务的方式很多,比如quartz框架的任务调度,jdk的ScheduledExecutorService任务调度,spring中集成的调度以及netty中集成的调度,今天我要介绍的是jdk原生的比较原始的timer定时任务的实现方式,废话少说直接上代码。首先介绍下Timer这个类所包含的关键属性。 //TaskQueue是一个任务队列,其内部定义一个TimerTa原创 2018-01-31 15:14:13 · 190 阅读 · 0 评论