Java Web
AIShark
爱技术懂生活的鲨鱼
展开
-
关于AQS的灵魂追问
一线大厂的面试通常会就一个点进行追问深挖,将很多求职者追问到语尽词穷的地步。因此常常被诟病为面试造火箭,工作拧螺丝。这跟大厂的选人用人策略有很大关系,也是不同公司人才观的一种体现。今天就跟大家分享一道简单的面试题。前面的文章中我们已经介绍了关于syncronized的原理,相信看过的同学对锁的问题应该会有比较深刻的认识。今天就接着syncronzied的主题分享一道常见的面试题。面试官S:OK...原创 2020-05-04 21:15:30 · 192 阅读 · 0 评论 -
一起来分解一个Netty应用
前言前面几篇博客主要介绍到了NIO针对网络IO场景相比较传统的Socket通信的优势,以及NIO在应用过程中线程模型的演化。从这篇博客开始我们一起来学习一个基于NIO实现的框架Netty,这是一个目前应用非常广泛的通信框架。Netty所使用的线程模型就是我们上一篇博客提到的主从Reactor模型。那么为什么在JDK中已经集成了NIO之后,还需要一个二次封装的Netty。这是因为NIO的使用门...原创 2020-04-18 20:30:32 · 136 阅读 · 0 评论 -
由Scalable IO引发的思考
前言前面我们一起研究了NIO,了解了NIO对TCP通信过程做了哪些优化,以及这些优化的实现原理。今天我们一起来看一看在利用NIO进行应用开发时,线程模型的演化。让我们一起来学习一下Java并发包的作者Doug Lea的Scalable IO in Java。一起读一读NIO通过操作系统的epoll机制,帮助用户在通信条件就绪时能够获得相应的Event。帮助上层应用准确的调度线程启动计算...原创 2020-04-11 07:06:24 · 244 阅读 · 0 评论 -
聊一聊NIO到底优化了什么
前言线程是一个勤劳的worker,作为程序设计者需要为每个线程充分准备好运行条件,把握好创建时机,才能让线程时刻处于繁忙状态,充分压榨它的服务能力,从而高效地创造价值。在互联网时代,网络通信是所有应用的基础。我们常常用一个网络应用每秒钟能够响应多少请求(QPS)来衡量一个系统的并发能力。支撑这种并发能力的关键一环就是网络IO。说道网络IO,JAVA系的同学第一个想到的一定是NIO(New...原创 2020-04-03 22:36:36 · 370 阅读 · 0 评论 -
syncronized原理解析
多线程进行并发访问资源时需要进行锁同步,否则会出现两个线程之间的计算交叠造成逻辑错误。在java中常用的关键字syncronized就是用来进行加锁同步的。下面我们就来聊一聊syncronized的实现原理。有过C++开发经验的同学都知道,在C++中进行锁同步通常会使用mutex(互斥量)。互斥量是操作系统提供给我们的一种能力,通过他可以实现资源的抢占与访问隔离。调用伪代码如下:st...原创 2020-03-27 22:43:08 · 650 阅读 · 0 评论 -
java web开发中property文件java程序解析
java web开发中经常运用到property文件,比如可以将数据库相关的参数配置在property文件中,然后在spring, hibernate的配置文件中自动获取相应参数。有时候我们也希望将一些业务参数配置在property文件中,然后在编写相应的java程序时读取相应的配置参数。这边介绍两种获取配置文件参数的方法。我们这边是基于SpringMVC框架进行的配置文件解析实验。(原创 2016-04-08 22:53:46 · 1453 阅读 · 0 评论 -
springmvc hibernate事务管理read-only属性
在利用freemarker做网页静态化中遇到的一个小问题。程序的逻辑大致是,当用户提交网页静态化请求时,会从数据库读取新闻纪录,查看对应的html路径是否存在,如果存在就将html文件删除然后重新生成静态化文件,修改数据库对应的数据记录。但是在开发过程中发现,update语句无法提交,经过查阅资料发现是事务管理配置的read-only属性出了问题。因为get与update属于同一个事务。但是该原创 2016-04-11 22:59:02 · 2553 阅读 · 0 评论 -
EL表达式
EL表达式 1、EL简介1)语法结构 ${expression}2)[]与.运算符 EL 提供.和[]两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。例如: ${user.My-Name}应当改为${user["My-转载 2016-03-31 22:50:18 · 223 阅读 · 0 评论 -
SpringMVC中时间数据格式问题
SpringMVC中对于时间字段的处理经常会遇到格式问题,大体有两种情况,第一种是提交表单时时间格式错误,表单提交不上出。第二种是数据返回时,前台页面只能显示一个长整数。下面针对这两个问题分别给出相应的解决方法:1.提交表单问题。在后台实体类时间字段加入@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")注解,其中pattern字段的数据格式可以原创 2016-04-03 05:48:35 · 2809 阅读 · 0 评论 -
SpringMVC中以is开头的字段名返回JSON问题
本来在开发中尽量不用以is开头的变量名的,但是因为开发中用到了zTree,节点字段中包含isParent字段。前台必须要用到该字段,所以无赖定义子节点类如下:public class ZTreeNode { private String id; private String pId; private String name; private boolean isParent;}其中的原创 2016-03-30 23:47:59 · 9799 阅读 · 0 评论 -
datatables服务器加载数据,多语言
/** * 初始化datatables */function initTable() { var table = $('#userTable'); table.dataTable({ "language" : { "lengthMenu": "每页 _MENU_ 条记录", "processing": "正在加载数据...", "i原创 2016-03-30 11:21:01 · 1316 阅读 · 1 评论 -
文件上传类型表单不能提交的问题
表单定义如下:刚开始时,工程没有文件上传相关的配置,导致表单无法正确提交。 该表单中如果enctype=application/x-www-form-urlencoded则运行正常;如果调成multipart/form-data后,提交表单时不管用户名写的是什么,转到的网页后面显示的用户名都是null。 解决方案:multipart/form-data这是上传文件使用的编码转载 2016-03-30 11:14:23 · 1159 阅读 · 0 评论 -
SpringMVC中hibernate中一对多关系,懒加载转JSON问题
Hibernate中的一对多关心,多类中对应字段设置懒加载,利用SpringMVC自带的自动JSON返回时出错。解决方法:利用jackson的@JsonIgnore忽略对应的字段即可。原创 2016-03-30 11:10:33 · 646 阅读 · 0 评论