Java 基础
文章平均质量分 90
孤天浪雨
命运自己掌握,飞翔才是王道!
展开
-
BigDecimal如何比较大小
BigDecimal比较大小 这个类是Java里精确计算的类,下面说一下两个BigDecimal对象大小,相等的判断 1 比较对象是否相等 一般的对象用equals,但是BigDecimal比较特殊,举个例子: BigDecimal a=BigDecimal.valueOf(1.0); BigDecimal b=BigDecimal.valueO转载 2016-05-10 14:20:28 · 2022 阅读 · 0 评论 -
用idea14 为什么每次编译的时候都会把项目的jdk编译环境换成1.5?
出现这样的原因应该是Maven插件的默认配置有问题。解决方法是在"pom.xml"里加入如下代码: 1.8 1.8然后按"Ctrl+Shift+Alt+S"打开项目配置,设置Modules的Language Level为"8"。最后按"Ctrl+Alt+S"打开设置,搜索"java compiler",将默认jdk和当前modual的jdk版本切换转载 2016-06-21 13:36:35 · 2878 阅读 · 0 评论 -
将指定jar包安装导入到maven仓库中(在中央仓库找不到pom dependency时)
在电脑已经安装maven后,在jar所在的目录下,运行下列命令即可(这里以ojdbc7为例):mvn install:install-file -Dfile=ojdbc7-7.0.jar -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=7.0 -Dpackaging=jar原创 2016-06-21 13:43:36 · 1379 阅读 · 0 评论 -
Log4j输出终端(Appender)详解
对于Appender接口,Log4j提供了以下几个实现:org.apache.log4j.ConsoleAppender(控制台)org.apache.log4j.FileAppender(文件)org.apache.log4j.DailyRollingFileAppender(每天都产生一个日志文件)org.apache.log4j.RollingFile转载 2016-07-28 15:20:19 · 4491 阅读 · 0 评论 -
Java 读写Properties配置文件
1.Properties类与Properties配置文件 Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集。不过Properties有特殊的地方,就是它的键和值都是字符串类型。2.Properties中的主要方法(1)load(InputStream inStream) 这个方法可以从.properti转载 2016-07-28 19:41:07 · 517 阅读 · 0 评论 -
Intellij IDEA 配置Jetty
一、在pom.xml中配置jetty插件: org.eclipse.jetty jetty-maven-plugin 9.1.0.v20131115 二、在顶部导航栏,如图点击打开Ed原创 2016-06-22 14:31:40 · 28949 阅读 · 1 评论 -
JAVA发送http、https请求
一、HTTP请求:import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;/** * Created by ehsy_it on 2原创 2016-06-22 17:49:17 · 987 阅读 · 0 评论 -
为什么要使用SLF4J而不是Log4J
每一个Java程序员都知道日志对于任何一个Java应用程序,尤其是服务端程序是至关重要的,而很多程序员也已经熟悉各种不同的日志库如java.util.logging、Apache log4j、logback。但如果你还不知道SLF4J(Simple logging facade for Java)的话,那么是时候去在你项目中学习使用SLF4J了。在这篇文章中,我们将学习为什么使用SLF4J比l转载 2016-07-28 23:12:50 · 644 阅读 · 0 评论 -
log4j.properties 配置详解
二、Log4j说明1 og4j.rootCategory=INFO, stdout , R此句为将等级为INFO的日志信息输出到stdout和R这两个目的地,stdout和R的定义在下面的代码,可以任意起名。等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF则不打出任何信息,如果配置为INFO这样只显示INFO, WARN,转载 2016-07-28 23:19:38 · 3895 阅读 · 0 评论 -
J2ee项目从0搭建(一):eclipse下载、安装、使用习惯配置迁移
JDK安装我们默认已经安装好了,推荐JDK1.7以上。1.eclipse下载:在eclipse官网下载最新版本,http://www.eclipse.org/downloads/:在这里我们选择Eclipse IDE for Java EE Developers,如图按步下载;也可以通过我的网盘地址直接下载:https://yunpan.cn/cS435Jnw9dgxm 访问密码原创 2016-06-02 11:12:50 · 8160 阅读 · 0 评论 -
J2ee项目从0搭建(三):eclipse中用Maven创建Web项目
一、创建Maven的Project:右击New创建项目,在New Project->Maven中点击选中Maven Project,一路Next。我们要创建的是web'项目,所以Archetype选择:maven-archetype-webapp,选中后点击Next。此时,输入Group Id(是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java原创 2016-06-02 15:22:47 · 2415 阅读 · 0 评论 -
J2ee项目从0搭建(四):tomcat下载、安装、配置、运行
1、tomcat下载:开源在tomcat官网下载:http://tomcat.apache.org/;也可以直接下载我在CSDN上传的apache-tomcat-8.0.14-windows-x642、tomcat安装:将下载的tomcat包解压到一个目录(电脑一定要已经安装了JDK哦)。设置tomcat环境变量,变量名:TOMCAT_HOME;变量值:tomcat所在目录,如原创 2016-06-02 17:08:29 · 2096 阅读 · 0 评论 -
J2ee项目从0搭建(六):Spring MVC集成
一、pom.xml中配置依赖jar: org.springframework spring-webmvc 二、web.xml:需要配置及来对请求进行拦截,具体参数如下: springServlet org.springframework.web.servlet.DispatcherServlet contextConfigL原创 2016-06-05 20:13:08 · 2098 阅读 · 4 评论 -
J2ee项目从0搭建(七):集成Mybatis、mybatis-generator代码生成、MySQL数据库
一、思路:Spring集成Mybatis,连接MySQL数据库,并利用mybatis-generator自动生成Dao、Model、Mapping。二、pom.xml配置文件中:中我们需要配置mybatis、mysql-connector-java依赖;并在下的标签中配置mybatis-generator-maven-plugin插件。 org.mybatis原创 2016-06-07 00:10:05 · 5734 阅读 · 1 评论 -
J2ee项目从0搭建(八):集成Mybatis、mybatis-generator代码生成、Oracle数据库
一、思路:Spring集成Mybatis,连接Oracle数据库,并利用mybatis-generator自动生成Dao、Model、Mapping。这边我们接上一节,只是添加了Oracle部分。如果有疑惑或者不明白的可以查看上一节J2ee项目从0搭建(七):集成Mybatis、mybatis-generator代码生成、MySQL数据库二、pom.xml配置文件中:中我们需要配置原创 2016-06-20 19:04:57 · 965 阅读 · 0 评论 -
J2ee项目从0搭建(九):将eclipse创建的web项目迁移到Intellij IDEA中运行
一、背景:有一个在eclipse中创建的web项目,现在需要把开发工具切换到Intellij IDEA上开发。二、将eclipse创建的web项目迁移到Intellij IDEA中:在IDEA中点击File-》New-》Project from Existing Sources...:选中原Eclipse工程目录,点击OK:在Import Project中选中Imp原创 2016-07-23 15:59:48 · 8698 阅读 · 0 评论 -
J2ee项目从0搭建(十):在项目中集成log日志收集(slf4j+log4j)
一、导入依赖jar:二、配置log4j.properties:三、在代码中进行收原创 2016-07-29 10:40:34 · 1346 阅读 · 1 评论 -
spring MVC 文件上传
一、在pom.xml中加入依赖包: commons-fileupload commons-fileupload 1.3.1 二、在spring配置文件中加入MultipartResolver处理器或者单独写个spring-upload.xml文件:<beans xmlns="http://www.springframework.org/schema/beans"原创 2016-07-05 22:34:40 · 589 阅读 · 0 评论 -
java反射详解
个人感觉非常好的一篇文章,转载地址:http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。下面开始正文。【案例1】通过一个对象获得完整的包名转载 2016-07-14 17:45:07 · 646 阅读 · 0 评论 -
Java Executors(线程池)
转载地址: http://blog.csdn.net/coding_or_coded/article/details/6856014Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。 有关Java转载 2016-07-14 16:28:33 · 449 阅读 · 0 评论 -
Java 将内容写入到某个文件中
File file = new File("d:\\file.txt"); if(!file.exists()){ try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } try { FileWriter fw = new FileWriter(原创 2016-04-28 16:16:00 · 2525 阅读 · 0 评论 -
微信支付 商品描述 body字段乱码
在做微信支付的时候,商品描述 body字段显示是乱码。解决方案:其实不用单独对body进行编码,只要对组装好的整体xml进行编码就行了:new String(xml1.toString().getBytes("utf-8"), "iso8859-1")原创 2016-05-12 15:15:09 · 9323 阅读 · 24 评论 -
通过nginx配置目录可以使用url访问里面的内容
1、找到nginx\conf\nginx.conf下的nginx.conf文件。找到如下代码段: server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main;原创 2016-05-25 22:24:40 · 5403 阅读 · 0 评论 -
Nginx在Linux下的安装与配置,以及遇到问题的解决整理
1、资源下载:可以到nginx官网下载最新包http://nginx.org/,或者我这边使用的nginx-1.10.0.tar.gz。2、将下载的资源上传到/usr/local目录下,注意:如果遇到文件无法移动或报没有权限,应该是账号不是root用户,可以使用su root命令切换。3、安装nginx,在/usr/local下解压nginx-1.10.0.tar.gz,并进入nginx-原创 2016-05-25 21:14:20 · 15874 阅读 · 0 评论 -
XStream异常:对象转为XML时,会把"_"转成"__";报错:<init>(Lcom/thoughtworks/xstream/io/naming/NameCoder;)V
问题一:在使用XStream把对象转为xml时,XStream会把单"_"转成"__":解决:如下方式定义XStreamXStream xStream = new XStream(new XppDriver(new XmlFriendlyNameCoder("_-", "_")));分析:因为“_”是关键字,默认的会变为“__ ”;$也是关键字,默认为“_-”,这2个参数一个改变$的显原创 2016-06-01 10:10:38 · 5857 阅读 · 0 评论 -
zxing实现二维码生成和解析
二维码的生成与解析。有多种途径。我选择用大品牌,google老大的zxing。gitHub链接是(我用的3.0.0,已经是nio了)https://github.com/zxing/zxing/tree/zxing-3.0.0 Java代码 // 其中输出图像和读取图像的类在core包 MultiFormatReader转载 2016-06-01 11:46:07 · 5039 阅读 · 0 评论 -
微信:微信扫码支付、调用统一下单接口、网站支付 + springmvc
一、场景:公司需要在网站上进行微信支付。二、API:使用微信开放平台的接入微信支付-扫码支付。微信支付开发者平台链接三、分析:接入扫码支付(包含PC网站支付)包含三个阶段,问这里只讲使用,也就是第2阶段的《启动设计和开发》。点击查看开发者文档(扫码支付)后,这里感觉微信的文档没有支付宝好理解(稍微吐槽下~~~),不过我们忽略一切,直接进入模式二:模式二最简单原创 2016-06-01 12:12:29 · 30291 阅读 · 32 评论 -
支付宝:web页面扫码支付、网站支付、支付宝即时到账 + springmvc
一、场景:公司需要在网站上进行支付宝支付。二、API:使用支付宝开放平台的支付能力-即时到账接口。支付宝开放平台链接三、分析:1、支付宝的文档比较容易看,主要是有相应的DEMO,我这里看的DEMO是 JAVA-UTF-8版本。2、导入DEMO,在com.alipay.config中填入对应的partner和key(在对应的商户后台获取)就可以直接运行了解支付流程了。原创 2016-05-27 14:32:01 · 50607 阅读 · 34 评论 -
IOS IAP APP内支付 Java服务端代码
场景:作为后台需要为app提供服务,在ios中,app内进行支付购买时需要进行二次验证。基础:可以参考上一篇转载的博文In-App Purchase(iap)快速指南了解原理。直接先上服务端测试通过的代码:import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.InputStr原创 2016-04-29 13:41:03 · 20287 阅读 · 13 评论 -
同一个tomcat下面部署了两个项目,有一个访问不了404,web项目配置webAppRootKey
场景:刚接手了同事创建的项目,准备部署到服务器上(此tomcat下已经有了一个项目),部署好之后发现原有项目可以正常访问,但是新项目报404,怎么也访问不了。问题排查:原来是同事拿之前的项目直接拷贝,然后在拷贝的项目上进行修改的。解决方案: webAppRootKey webapp.root1 org.springframework.web.ut原创 2016-05-20 11:12:26 · 18950 阅读 · 0 评论 -
使用IntelliJ IDEA 14和Maven创建java web项目
安装Maven下载安装去maven官网下载最新版。解压到安装目录。配置右键桌面的计算机图标,属性–>高级系统设置–>环境变量,添加M2_HOME的环境变量,然后将该变量加入的PATH中。注意 必须要有JAVA_HOME和个环境变量,不然maven会提示错误。如果想要修改maven的本地仓库位置,可以在maven的安装目转载 2016-06-07 10:13:06 · 1160 阅读 · 0 评论 -
Java中的Atomic包使用指南:AtomicInteger、AtomicBoolean、AtomicIntegerArray、AtomicReference……
本文首发于并发网,作者:方腾飞引言Java从JDK1.5开始提供了java.util.concurrent.atomic包,方便程序员在多线程环境下,无锁的进行原子操作。原子变量的底层使用了处理器提供的原子指令,但是不同的CPU架构可能提供的原子指令不一样,也有可能需要某种形式的内部锁,所以该方法不能绝对保证线程不被阻塞。Atomic包介绍在Atomic包里一共有1转载 2016-06-28 15:28:28 · 1937 阅读 · 0 评论 -
Guava库学习:学习使用Preconditions工具类进行代码的校验
com.google.guava guava 19.0 摘要Preconditions是guava提供的用于进行代码校验的工具类,其中提供了许多重要的静态校验方法,用来简化我们工作或开发中对代码的校验或预处理,能够确保代码符合我们的期望,并且能够在不符合校验条件的地方,准确的为我们显示出问题所在,接下来,我们就来学转载 2016-06-28 15:54:39 · 7655 阅读 · 0 评论 -
ReentrantLock(重入锁)以及公平性
简介ReentrantLock的实现不仅可以替代隐式的synchronized关键字,而且能够提供超过关键字本身的多种功能。这里提到一个锁获取的公平性问题,如果在绝对时间上,先对锁进行获取的请求一定被先满足,那么这个锁是公平的,反之,是不公平的,也就是说等待时间最长的线程最有机会获取锁,也可以说锁的获取是有序的。ReentrantLock这个锁提供了一个构造函数,能够控制这个锁是否是公转载 2016-06-28 16:23:10 · 841 阅读 · 0 评论 -
重定向与请求转发的区别以及在springmvc中重定向的使用
请求重定向与请求转发的比较,HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法都可以让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制有很大的区别。1.RequestDispatcher.forward方法只能将请求转发给同一个Web应用中的组件,HttpServletResponse.sendRedire转载 2016-07-10 12:25:22 · 2528 阅读 · 0 评论 -
Map中删除数据
在Map中直接删除内容将抛出 java.util.ConcurrentModificationException 异常,如果要删除可以用Iterator的remove()方法。 以下代码报错: Java代码 Map map = new HashMap (); map.put("1", "a"); map.put("2", "b"); map.pu转载 2016-07-10 13:36:51 · 1455 阅读 · 0 评论 -
读取文件到byte[]数组,将byte[]写入到指定文件中
public static void main(String[] args) { File file = new File("D:\\GBJ_TOOLS\\download\\apache-maven-3.3.9-bin.zip"); File file2 = new File("D:\\GBJ_TOOLS\\download\\apache-maven-3.3.9原创 2016-08-09 17:08:15 · 18458 阅读 · 0 评论