- 博客(108)
- 收藏
- 关注

原创 jQuery对象与js对象互相转换
1.两种转换方式将一个jQuery对象转换成js对象:[index]和.get(index); (1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的js对象。 如:var $v =$("#v") ; //jQuery对象 var v=$v[0]; //js对象 alert(v.checked) //检测这个checkbox是否被选中 (2)jQuery本身提供,通
2017-11-10 10:15:52
642
原创 request method 'post' not supported问题解决
最近做j2ee开发时,使用spring框架,用jquery的ajax方法提交表单时,遇到了request method ‘post’ not supported这个警告而且数据传送不成功,于是在百度上搜了一下,可能是表单提交时没有填写数据导致的以及其他可能的原因,我调试了一天,还是未解决这个问题。于是问了项目经理,他一看我的代码就说这个是url的问题吧,我看了一下原来url写了相对路径,这个就无法提
2017-11-22 14:19:59
26073
原创 MyBatis3错误:Parameter 'id' not found. Available parameters are [arg2, arg1, arg0, param3, param1, par
这个问题涉及到MyBatis3在使用select节点查询时传递多个参数的问题。问题分析如下: 1、如果是单个查询一般是这样配置: <select id="getUserArticles" parameterType="int" resultMap="resultUserArticleList"> select user.id,user.userName,user.userAddre
2017-11-22 11:27:38
20172
1
原创 SpringMVC中@responseBody标签问题
我们在使用SpringMVC过程中,返回Json格式字符串时候,往往要使用到@responseBody标签,但是总会发生以下两种情况。 1、我们明明使用Gson转化成了字符串,返回到前台,可是怎么也接受不到json数据。 2、我们明明只想跳一个页面,但是前台显示的确实页面的名称。 针对上面两种情况: 第一种就是漏加了@responseBody标签。
2017-11-22 11:23:17
708
原创 利用Jquery的load函数实现页面的动态加载
js的强大功能相信大家都知晓,今天通过jquery的库函数load可以更加方便的实现页面的动态刷新,经过几天的研究与探索,终于有所成效!吾心甚蔚! 一、基本语法为: $(‘#区域id’).load(‘页面名称’); 具体来说,此事件有4个方法,格式分别是: 1、load(url) 2、load(url,[data]) 3、load(url,[callb
2017-11-22 10:02:09
3159
原创 Json对象和Json字符串的区别,以及Springmvc接受json字符串类型。
JSON对象 有时候在做项目的时候时常将这两个概念弄混淆,尤其是在使用springmvc的时候,后台@RequestBody接受的是一个json格式的字符串,一定是一个字符串。 先介绍一下json对象,首先说到对象的概念,对象的属性是可以用:对象.属性进行调用的。例如:var person={"name":"tom","sex":"男","age":"24"}//json
2017-11-21 16:46:15
866
原创 Log4j的使用
OK,现在我们开始研究Log4j。Log4j是目前应用最广泛的日志空间,它分如下几个日志级别,日志级别依次升高。级别高的level会屏蔽级别低的信息。 TRACE→DEBUG→INFO→WARNING→ERROR→FATAL→OFF。 比如设置INFO级别,TRACE,DEBUG就不会输出,如果设置WARNING级别,则TRACE,DEBUG,INFO都不会输出。 Log4j初体验
2017-11-21 10:45:16
272
原创 使用POI读写word docx文件
POI在读写word docx文件时是通过xwpf模块来进行的,其核心是XWPFDocument。一个XWPFDocument代表一个docx文档,其可以用来读docx文档,也可以用来写docx文档。XWPFDocument中主要包含下面这几种对象: XWPFParagraph:代表一个段落。 XWPFRun:代表具有相同属性的一段文本。 XWPFTable:代表一个表格。 X
2017-11-20 14:56:27
1564
原创 JavaScript中innerText和innerHTML的区别
innerText返回或者设置DOM元素的文本 innerHTML返回或者设置DOM元素的子元素 1,返回值的区别 <div id="div1"> <p>文本信息</p></div><script> var div =document.getElementById("div1"); var text = div1.innerText; // tex
2017-11-20 14:51:55
529
原创 java定义数组的三种类型
三种定义数组的格式如下:int[] arr1=new int[10]; int[] arr2={1,2,3,6}; int[] arr3=new int[]{1,2,3,4,5,6,7,22}; 注意:数组的length是一个属性,而字符串的length()是一个方法了!!!虽然都是求的他们各自的长度package array; public class Array { publi
2017-11-16 08:55:15
31420
1
原创 三分钟明白 Activity工作流 -- java运用
一、 什么是工作流 以请假为例,现在大多数公司的请假流程是这样的 员工打电话(或网聊)向上级提出请假申请——上级口头同意——上级将请假记录下来——月底将请假记录上交公司——公司将请假录入电脑 采用工作流技术的公司的请假流程是这样的 员工使用账户登录系统——点击请假——上级登录系统点击允许 就这样,一个请假流程就结束了 有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案是
2017-11-13 14:09:28
57138
14
原创 Java代码格式规范个人推荐(带范例)
个人整理Java编码格式规范,也是本人在开发中遵守的规范。代码格式规范,仅是为了体现一种规范和美观,大家可根据各自情况和公司要求遵守自己的规范。/** * Java编码格式个人推荐,参考JDK源码和Hyperic HQ源码(原spring旗下著名开源软件,现vmware)。 * @author lihzh(苦逼coder) * 本文地址:http://mushiqianmeng
2017-11-10 15:15:01
768
原创 深入Java关键字null
一、null是代表不确定的对象 Java中,null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。 比如:int a = null;是错误的。Ojbect o = null是正确的。 Java中,变量的适用都遵循一个原则,先定义,并且初始化后,才可以使用。我们不能int a后,不给a指定值,就去打印a的值。这条对对于引用类型变量
2017-11-10 15:12:37
274
原创 Java中Runnable和Thread的区别
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限。 下面看例子:package org.thread.demo; class MyThread extends Thre
2017-11-10 14:57:43
257
原创 如何写出复杂业务查询的sql语句
如何写出复杂的sql语句: 首先要建立一个概念,复杂的sql语句也是最基本的sql语句连接而成,所以最重要的是先要理清思路和逻辑,弄清自己要查哪几张表,要用哪几个字段,表之间如何关联,将这些弄清,然后由简单到复杂,从最基本的sql写起,通过找共同点,实现表关联等。 select后是自己需要的字段 from后是自己需要查询的多张表或者自己子查询得出的结果集 where后是
2017-11-10 11:13:25
748
原创 ORA-00937: 不是单组分组函数
最近写SQL的时候,有遇到过报出 ORA-00937的问题。解释: select 列表项中除了包含聚合函数外,还包含了表的某些列,那么你将必须使用group by语句,否则语法通不过。 例如:SQL>select deptno,job,avg(sal) from empERROR 位于第 1 行: ORA-00937: 非单组分组函数 其实这里也非常容易理解,你既然指定了聚合函数,又同
2017-11-10 10:58:53
9895
原创 JavaScript操作JSON总结
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。 本文主要是对JS操作JSON的要领做下总结。 在JSON中,有两种结构:对象和数组。 1.一个对象以“{”(
2017-11-10 10:21:18
349
原创 Java 8 之 lambda 表达式简单使用入门实例代码
我这些实例,包含如下: Java 8 中 list 和 map 的循环遍历 - forEach的用法。 Java 8 中对 list 和 map 集合的过滤 - filter的用法。 Java 8 中对stream的操作,filter操作。。 一般都是看到了别人的写法,或者是编辑器提示你可以这么写,你才这么写,写了之后。 发现;唉,我不一定懂,我是改成这个lambda表
2017-11-09 12:40:41
447
原创 Java中double float 类型的数据(小数)在作计算的时候要注意的
以前,只是听说过,Java里面有些个类型,在计算的时候,是不能想当然的,因为,计算机的实现法和你自己的想法是不一样的。当时,没怎么在意,后来,还真听一个哥们说,他把钱给算错了。既然遇到了,我就稍微做个笔记,以后遇到类似问题,自己也好有个印象, 先看奇葩现象。private static void testDouble() { Double d = 0.81d; Syst
2017-11-09 12:35:39
631
原创 WebService的简介、原理和使用方法
第一部分:直观概述 Webservice的几种概念: 以HTTP协议为基础,通过XML进行客户端和服务器端通信的框架/组件。 两个关键点: 1)服务端提供的功能,通过xml描述; 2)第一步中描述的功能,嵌入到HTTP协议中,使得能通过HTTP协议进行通信(就是SOAP) 采用这两个技术的主要目的: 1) 跨平台,支持
2017-11-09 11:01:27
571
原创 Spring AOP的底层实现技术
AOP概述 软件的编程语言最终的目的就是用更自然更灵活的方式模拟世界,从原始机器语言到过程语言再到面向对象的语言,我们看到编程语言在一步步用更自然、更强大的方式描述软件。AOP是软件开发思想的一个飞跃,AOP的引入将有效弥补OOP的不足,OOP和AOP分别从纵向和横向对软件进行抽象,有效地消除重复性的代码,使代码以更优雅的更有效的方式进行逻辑表达。 AOP有三种植入切面的方法:其一是编译期织
2017-11-06 12:35:02
1171
原创 Java NIO:浅析I/O模型
也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Pro
2017-11-05 20:44:26
1158
原创 Java NIO:NIO概述
在上一篇博文中讲述了几种IO模型,现在我们开始进入Java NIO编程主题。NIO是Java 4里面提供的新的API,目的是用来解决传统IO的问题。本文下面分别从Java NIO的几个基础概念介绍起。 以下是本文的目录大纲: 一.NIO中的几个基础概念 二.Channel 三.Buffer 四.Selector一.NIO中的几个基础概念 在NIO中有几个比较关键的概念:Channel(通
2017-11-05 20:38:43
176
原创 Java多线程基础:进程和线程之由来
在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程。当然,Java并发编程涉及到很多方面的内容,不是一朝一夕就能够融会贯通使用的,需要在实践中不断积累。由于并发肯定涉及到多线程,因此在进入并发编程主题之前,我们先来了解一下进程和线程的由来,这对后面对并发编程的理解将会有很大的帮助。 下面是本文的目录大纲: 一.操作系统中为什么会出现进程? 二.为什么会出
2017-11-05 20:34:24
170
原创 Java并发编程:如何创建线程?
在前面一篇文章中已经讲述了在进程和线程的由来,今天就来讲一下在Java中如何创建线程,让线程去执行一个子任务。下面先讲述一下Java中的应用程序和进程相关的概念知识,然后再阐述如何创建线程以及如何创建进程。下面是本文的目录大纲: 一.Java中关于应用程序和进程相关的概念 二.Java中如何创建线程 三.Java中如何创建进程一.Java中关于应用程序和进程相关的概念 在Java中,一个应用
2017-11-05 20:32:57
180
原创 Java并发编程:Thread类的使用
在前面2篇文章分别讲到了线程和进程的由来、以及如何在Java中怎么创建线程和进程。今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态、上下文切换,然后接着介绍Thread类中的方法的具体使用。 以下是本文的目录大纲: 一.线程的状态 二.上下文切换 三.Thread类中的方法一.线程的状态 在正式学习Thread类中的具体方法之前,我们先来了解
2017-11-05 20:28:15
174
原创 Java并发编程:synchronized
虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。 以下是本文的目录大纲: 一.什么时候会出现线程安全问题? 二.如何解决线程安全问题? 三.synchronized同步方法或者同步块一.什么时候会出现线程安全问题
2017-11-04 22:41:22
149
原创 Java并发编程:Lock
在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐述。本文先从synchronized的缺
2017-11-04 22:34:15
174
原创 Java并发编程:深入剖析ThreadLocal
想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。 以下是本文目录大纲: 一.对ThreadLocal的理解 二.深入解析ThreadLocal类 三.ThreadLocal的应用场
2017-11-04 22:21:17
169
原创 Java并发编程:同步容器
为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer(比如CountDownLatch)。今天我们就来讨论下同步容器。 以下是本文的目录大纲: 一.为什么会出现同步容器? 二.Java中的同步容器类 三.同步容器的缺陷一.为什么会出现同步容器? 在Java的集合容器框架中,主要有四大类别:List、Set、Q
2017-11-04 22:11:53
193
原创 Java ConcurrentModificationException异常原因和解决方法
在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。 以下是本文目录大纲: 一.ConcurrentModificationException异常出现的原因 二.在单线程环境下的解决办法 三.在多线程环境下的解
2017-11-04 22:07:52
708
原创 Java并发编程:并发容器之ConcurrentHashMap
JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低了并发性,当多个线程竞争容器时,吞吐量严重降低。因此Java5.0开始针对多线程并发访问设计,提供了并发性能较好的并发容器,引入了java.util.concurrent包。与Vector和Hashtab
2017-11-04 22:00:38
153
原创 Java并发编程:并发容器之CopyOnWriteArrayList
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。C
2017-11-04 21:53:59
182
原创 Java并发编程:阻塞队列
在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。 在前面我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了Deque
2017-11-04 21:51:45
178
原创 Java并发编程:线程池的使用
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中可以通过线程池来达到这样的效果。今天我们
2017-11-04 21:48:01
184
原创 Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。 以下是本文目录大纲: 一.CountDownLatch用法 二.CyclicBarrier用法 三.Semaphore用法一.CountDownLatch用法 CountDownLatch类位于j
2017-11-04 17:08:49
171
原创 Java并发编程:Callable、Future和FutureTask
在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。
2017-11-03 13:55:20
178
原创 Java并发编程:Timer和TimerTask
其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来实现,例如这样: Timer timer = new Timer();timer.schedule(new TimerTask() { public void run() { System.out.println("abc
2017-11-03 13:51:47
179
原创 Java线程面试题 Top 50
不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。 在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用什么方
2017-11-03 13:21:28
261
原创 JAVA多线程和并发基础面试问答
多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点) Java多线程面试问题 1.进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的
2017-11-03 13:19:22
199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人