自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

瓜爪牛的博客

一个分享与学习的平台

  • 博客(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 588

原创 request method 'post' not supported问题解决

最近做j2ee开发时,使用spring框架,用jquery的ajax方法提交表单时,遇到了request method ‘post’ not supported这个警告而且数据传送不成功,于是在百度上搜了一下,可能是表单提交时没有填写数据导致的以及其他可能的原因,我调试了一天,还是未解决这个问题。于是问了项目经理,他一看我的代码就说这个是url的问题吧,我看了一下原来url写了相对路径,这个就无法提

2017-11-22 14:19:59 25929

原创 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 20072 1

原创 SpringMVC中@responseBody标签问题

我们在使用SpringMVC过程中,返回Json格式字符串时候,往往要使用到@responseBody标签,但是总会发生以下两种情况。      1、我们明明使用Gson转化成了字符串,返回到前台,可是怎么也接受不到json数据。   2、我们明明只想跳一个页面,但是前台显示的确实页面的名称。      针对上面两种情况:      第一种就是漏加了@responseBody标签。

2017-11-22 11:23:17 670

原创 利用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 3069

原创 Json对象和Json字符串的区别,以及Springmvc接受json字符串类型。

JSON对象      有时候在做项目的时候时常将这两个概念弄混淆,尤其是在使用springmvc的时候,后台@RequestBody接受的是一个json格式的字符串,一定是一个字符串。      先介绍一下json对象,首先说到对象的概念,对象的属性是可以用:对象.属性进行调用的。例如:var person={"name":"tom","sex":"男","age":"24"}//json

2017-11-21 16:46:15 820

原创 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 235

原创 使用POI读写word docx文件

POI在读写word docx文件时是通过xwpf模块来进行的,其核心是XWPFDocument。一个XWPFDocument代表一个docx文档,其可以用来读docx文档,也可以用来写docx文档。XWPFDocument中主要包含下面这几种对象: XWPFParagraph:代表一个段落。 XWPFRun:代表具有相同属性的一段文本。 XWPFTable:代表一个表格。 X

2017-11-20 14:56:27 1522

原创 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 465

原创 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 31313 1

原创 三分钟明白 Activity工作流 -- java运用

一、 什么是工作流  以请假为例,现在大多数公司的请假流程是这样的  员工打电话(或网聊)向上级提出请假申请——上级口头同意——上级将请假记录下来——月底将请假记录上交公司——公司将请假录入电脑  采用工作流技术的公司的请假流程是这样的  员工使用账户登录系统——点击请假——上级登录系统点击允许  就这样,一个请假流程就结束了  有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案是

2017-11-13 14:09:28 56767 17

原创 Java代码格式规范个人推荐(带范例)

个人整理Java编码格式规范,也是本人在开发中遵守的规范。代码格式规范,仅是为了体现一种规范和美观,大家可根据各自情况和公司要求遵守自己的规范。/** * Java编码格式个人推荐,参考JDK源码和Hyperic HQ源码(原spring旗下著名开源软件,现vmware)。 * @author lihzh(苦逼coder) * 本文地址:http://mushiqianmeng

2017-11-10 15:15:01 711

原创 深入Java关键字null

一、null是代表不确定的对象  Java中,null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。  比如:int a = null;是错误的。Ojbect o = null是正确的。  Java中,变量的适用都遵循一个原则,先定义,并且初始化后,才可以使用。我们不能int a后,不给a指定值,就去打印a的值。这条对对于引用类型变量

2017-11-10 15:12:37 237

原创 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 225

原创 如何写出复杂业务查询的sql语句

如何写出复杂的sql语句:      首先要建立一个概念,复杂的sql语句也是最基本的sql语句连接而成,所以最重要的是先要理清思路和逻辑,弄清自己要查哪几张表,要用哪几个字段,表之间如何关联,将这些弄清,然后由简单到复杂,从最基本的sql写起,通过找共同点,实现表关联等。  select后是自己需要的字段   from后是自己需要查询的多张表或者自己子查询得出的结果集   where后是

2017-11-10 11:13:25 661

原创 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 9371

原创 JavaScript操作JSON总结

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。  本文主要是对JS操作JSON的要领做下总结。  在JSON中,有两种结构:对象和数组。  1.一个对象以“{”(

2017-11-10 10:21:18 296

原创 Java 8 之 lambda 表达式简单使用入门实例代码

我这些实例,包含如下:   Java 8 中 list 和 map 的循环遍历 - forEach的用法。   Java 8 中对 list 和 map 集合的过滤 - filter的用法。   Java 8 中对stream的操作,filter操作。。   一般都是看到了别人的写法,或者是编辑器提示你可以这么写,你才这么写,写了之后。   发现;唉,我不一定懂,我是改成这个lambda表

2017-11-09 12:40:41 411

原创 Java中double float 类型的数据(小数)在作计算的时候要注意的

以前,只是听说过,Java里面有些个类型,在计算的时候,是不能想当然的,因为,计算机的实现法和你自己的想法是不一样的。当时,没怎么在意,后来,还真听一个哥们说,他把钱给算错了。既然遇到了,我就稍微做个笔记,以后遇到类似问题,自己也好有个印象,   先看奇葩现象。private static void testDouble() { Double d = 0.81d; Syst

2017-11-09 12:35:39 586

原创 WebService的简介、原理和使用方法

第一部分:直观概述      Webservice的几种概念:      以HTTP协议为基础,通过XML进行客户端和服务器端通信的框架/组件。      两个关键点:     1)服务端提供的功能,通过xml描述;     2)第一步中描述的功能,嵌入到HTTP协议中,使得能通过HTTP协议进行通信(就是SOAP)   采用这两个技术的主要目的:      1) 跨平台,支持

2017-11-09 11:01:27 525

原创 Spring AOP的底层实现技术

AOP概述  软件的编程语言最终的目的就是用更自然更灵活的方式模拟世界,从原始机器语言到过程语言再到面向对象的语言,我们看到编程语言在一步步用更自然、更强大的方式描述软件。AOP是软件开发思想的一个飞跃,AOP的引入将有效弥补OOP的不足,OOP和AOP分别从纵向和横向对软件进行抽象,有效地消除重复性的代码,使代码以更优雅的更有效的方式进行逻辑表达。   AOP有三种植入切面的方法:其一是编译期织

2017-11-06 12:35:02 1135

原创 Java NIO:浅析I/O模型

也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Pro

2017-11-05 20:44:26 1123

原创 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 150

原创 Java多线程基础:进程和线程之由来

在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程。当然,Java并发编程涉及到很多方面的内容,不是一朝一夕就能够融会贯通使用的,需要在实践中不断积累。由于并发肯定涉及到多线程,因此在进入并发编程主题之前,我们先来了解一下进程和线程的由来,这对后面对并发编程的理解将会有很大的帮助。  下面是本文的目录大纲:  一.操作系统中为什么会出现进程?  二.为什么会出

2017-11-05 20:34:24 146

原创 Java并发编程:如何创建线程?

在前面一篇文章中已经讲述了在进程和线程的由来,今天就来讲一下在Java中如何创建线程,让线程去执行一个子任务。下面先讲述一下Java中的应用程序和进程相关的概念知识,然后再阐述如何创建线程以及如何创建进程。下面是本文的目录大纲:  一.Java中关于应用程序和进程相关的概念  二.Java中如何创建线程  三.Java中如何创建进程一.Java中关于应用程序和进程相关的概念  在Java中,一个应用

2017-11-05 20:32:57 154

原创 Java并发编程:Thread类的使用

在前面2篇文章分别讲到了线程和进程的由来、以及如何在Java中怎么创建线程和进程。今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态、上下文切换,然后接着介绍Thread类中的方法的具体使用。  以下是本文的目录大纲:  一.线程的状态  二.上下文切换  三.Thread类中的方法一.线程的状态  在正式学习Thread类中的具体方法之前,我们先来了解

2017-11-05 20:28:15 139

原创 Java并发编程:synchronized

虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。  以下是本文的目录大纲:  一.什么时候会出现线程安全问题?  二.如何解决线程安全问题?  三.synchronized同步方法或者同步块一.什么时候会出现线程安全问题

2017-11-04 22:41:22 117

原创 Java并发编程:Lock

在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。  也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐述。本文先从synchronized的缺

2017-11-04 22:34:15 142

原创 Java并发编程:深入剖析ThreadLocal

想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。  以下是本文目录大纲:  一.对ThreadLocal的理解  二.深入解析ThreadLocal类  三.ThreadLocal的应用场

2017-11-04 22:21:17 140

原创 Java并发编程:同步容器

为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer(比如CountDownLatch)。今天我们就来讨论下同步容器。  以下是本文的目录大纲:  一.为什么会出现同步容器?  二.Java中的同步容器类  三.同步容器的缺陷一.为什么会出现同步容器?  在Java的集合容器框架中,主要有四大类别:List、Set、Q

2017-11-04 22:11:53 171

原创 Java ConcurrentModificationException异常原因和解决方法

在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。  以下是本文目录大纲:  一.ConcurrentModificationException异常出现的原因  二.在单线程环境下的解决办法  三.在多线程环境下的解

2017-11-04 22:07:52 669

原创 Java并发编程:并发容器之ConcurrentHashMap

JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低了并发性,当多个线程竞争容器时,吞吐量严重降低。因此Java5.0开始针对多线程并发访问设计,提供了并发性能较好的并发容器,引入了java.util.concurrent包。与Vector和Hashtab

2017-11-04 22:00:38 126

原创 Java并发编程:并发容器之CopyOnWriteArrayList

Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。C

2017-11-04 21:53:59 155

原创 Java并发编程:阻塞队列

在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。  在前面我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了Deque

2017-11-04 21:51:45 153

原创 Java并发编程:线程池的使用

在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?  在Java中可以通过线程池来达到这样的效果。今天我们

2017-11-04 21:48:01 157

原创 Java并发编程:CountDownLatch、CyclicBarrier和Semaphore

在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。  以下是本文目录大纲:  一.CountDownLatch用法  二.CyclicBarrier用法  三.Semaphore用法一.CountDownLatch用法  CountDownLatch类位于j

2017-11-04 17:08:49 144

原创 Java并发编程:Callable、Future和FutureTask

在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。  这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。  如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。  而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。

2017-11-03 13:55:20 145

原创 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 151

原创 Java线程面试题 Top 50

不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。  在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用什么方

2017-11-03 13:21:28 233

原创 JAVA多线程和并发基础面试问答

多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点)      Java多线程面试问题    1.进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的

2017-11-03 13:19:22 170

空空如也

空空如也

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

TA关注的人

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