![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
◆JavaEE
日出东方VS唯我不败
这个作者很懒,什么都没留下…
展开
-
JDK多版本安装错误
本地先安装了jdk1.7.0_71,后来又安装了jdk1.8.0_131,然后环境变量中配置了后者,打开eclipse的时候发现闪退。。。。。。然后在cmd中输入java -version:执行java -fullversion:原来是版本有点混乱了!解决过程:1、找到环境变量path,发现安装完jdk1.8.0_131之后,在前部多出了以下配置:C:\ProgramData\Oracle\Java\javapath在path中删掉此配置,并且到此路径下删除java开原创 2020-10-17 20:00:35 · 615 阅读 · 0 评论 -
JDBC基础知识
掌握数据库开发是java工程师的基本要求,而JDBC是数据库开发的基础,通过JDBC可以实现Java程序对后端数据库的访问。虽然现在大多使用MyBatis,但明白JDBC的工作流程,对初学者来说还是非常必要的,学会之后能够更快速的上手MyBatis。下面我就介绍一下JDBC的基础知识。注意:学习JDBC需要有Java基础以及数据库基础。总的来说,使用JDBC的流程大概分为:1.转载 2016-06-13 14:31:18 · 892 阅读 · 0 评论 -
java类的访问权限
Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符。private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中原创 2016-06-29 12:27:30 · 285 阅读 · 0 评论 -
Java对于Cookie的操作详解
1.设置Cookie Cookie cookie = new Cookie("key", "value"); cookie.setMaxAge(60); 设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。 cookie.setPath("/test/test2"); 设置Cookie路径,不设置的话为转载 2016-06-07 15:22:44 · 284 阅读 · 0 评论 -
java.lang.System 的in是final的,为什么要有public static void setIn(InputStream in)方法?
setIn并不是修改System.in,只是将输入重定向了。 输入重定向baidu一下就知道了。 简单的说,如果你将输入重定向到一个文件,你用System.in读到的就是文件的内容,而不是你在console里输入的内容。 setIn也许真的修改了System.in,但是setIn里是通过一个native方法来做的,很可能是用c实现转载 2016-10-09 17:56:31 · 742 阅读 · 0 评论 -
JAVA的Collections类中shuffle的用法
就是随机打乱原来的顺序,和洗牌一样。如:// ShuffleTest.Javaimport java.util.*;public class ShuffleTest { public static void main(String[] args) { List list = new ArrayList(); for (int i = 0; i <转载 2016-06-30 10:49:26 · 666 阅读 · 0 评论 -
java定时器的使用(Timer)
Java定时器的使用(Timer)原文链接:http://blog.csdn.net/ecjtuxuan/article/details/20937571、在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。private java.util.Timer timer;timer =转载 2016-11-02 12:00:56 · 661 阅读 · 0 评论 -
java对象与json对象之间的相互转换
1.简单的解析json字符串首先将json字符串转换为json对象,然后再解析json对象,过程如下。JSONObject jsonObject = JSONObject.fromObject(jsonStr);根据json中的键得到它的值String name = jsonObject.getString("name");int num = jsonObject.getInt原创 2016-07-20 11:28:04 · 618 阅读 · 0 评论 -
Jaxb annotation初步使用
一.Jaxb处理java对象和xml之间转换常用的annotation有:@XmlType@XmlElement@XmlRootElement@XmlAttribute@XmlAccessorType@XmlAccessorOrder@XmlTransient@XmlJavaTypeAdapter 二.常用annotation使用说明@XmlType转载 2017-05-12 12:26:28 · 890 阅读 · 0 评论 -
通过java.net.URLConnection发送HTTP请求的方法
阅读目录运用原生Java Api发送简单的Get请求、Post请求简单封装简单测试如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求。Java有原生的API可用于发送HTTP请求,即java.net.URL、java.net.URLConnection,这些API很好用、很常用,但不够简便;所以,也流行有许多Java HT转载 2017-05-12 15:33:13 · 587 阅读 · 0 评论 -
使用JAXB实现JAVA对象和XML字符串的互相转换
关于JAXB的介绍,见:http://blog.csdn.net/qq_32786873/article/details/71715254测试类:package com.solin.test;import java.util.ArrayList;import java.util.List;public class Test { public static void main原创 2017-05-13 15:24:09 · 5479 阅读 · 2 评论 -
获取请求的IP地址和浏览器信息
import java.io.IOException;import java.net.Inet4Address;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.ArrayList;import java.util.E转载 2017-04-25 12:44:33 · 2148 阅读 · 0 评论 -
java 服务器获取请求的IP方法之总结
项目中需要和第三方平台接口,加了来源IP鉴权功能,测试时发现没有问题,但是部署以后发现存在问题,一直鉴权不通过,一群人抓瞎。 我找到那块的代码,跟了一遍流程发现逻辑没有啥问题,但是最终的结果却还是鉴权不通过,实在有些诡异。其基本逻辑为先取得配置的IP列表,然后通过request.getRemoteAddr()取得客户端的IP地址,做鉴权和校验,逻辑没问题,那么肯定是request.转载 2017-04-25 12:49:44 · 3508 阅读 · 0 评论 -
Graphics2D 使用详解 【转】
ava 2D - How the Graphics2D Class Renders 正如我们在前面提到的,我们可以对Graphics2D类进行多项设置。实际上,渲染引擎在绘制Graphics2D图形前会查看7个主要的属性:PaintStrokeFontTransformationClipping spaceRendering hintsCompo转载 2017-05-08 13:37:31 · 39161 阅读 · 5 评论 -
@SuppressWarnings注解用法详解
@SuppressWarnings注解用法详解今天来谈谈@SuppressWarnings注解的作用。J2SE 提供的最后一个批注是 @SuppressWarnings。该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。@SuppressWarnings 批注允许您选择性地取消特定代码段(即,类或方法)中的警告。其中的想法是当您看到警告时,您将转载 2017-12-04 11:03:26 · 595 阅读 · 0 评论 -
Java操作zip压缩和解压缩文件工具类
需要用到ant.jar(这里使用的是ant-1.6.5.jar)package com.solin.ziptest;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io转载 2017-12-04 13:40:15 · 3680 阅读 · 0 评论 -
基于JavaMail的Java邮件发送:简单邮件发送
电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信息等。但这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送。本文将简单介绍如何通过 Java 代码来创建电子邮件,并连接邮件服务器发送邮件。1. 电子邮件协议电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP转载 2018-01-19 11:54:50 · 500 阅读 · 0 评论 -
Java annotation 自定义注释@interface的用法
一、什么是注释 说起注释,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。而J2SE5.0中提供的注释就是java源代码的元数据,也就是说注释是描述java源代码的。在J2SE5.0中可以自定义注释。使用时在@后面跟注释的名字。转载 2016-10-28 11:40:35 · 342 阅读 · 0 评论 -
Java注解@interface的用法
Java用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类。@Override,@Deprecated,@SuppressWarnings为常见的3个注解。注解相当于一种标记,在程序中加上了注解就等于为程序加上了某种标记,以后,JAVAC编译器,开发工具和其他程序可以用反射来了解你的类以及各种元素上有无任何标记,看你有什么转载 2016-10-28 12:23:34 · 545 阅读 · 0 评论 -
@interface java注解
@Documented,@Retention,@Target,@Inherited1. 编写自定义@Todo注解经常我们在写程序时,有时候有些功能在当前的版本中并不提供,或由于某些其它原因,有些方法没有完成,而留待以后完成,我们在javadoc中用@TODO来描述这一行为,下面用java注解来实现。public @interface Todo { } // Todo.java转载 2016-10-28 12:30:44 · 242 阅读 · 0 评论 -
LinkedList其实就那么一回事儿之源码分析
上篇文章《ArrayList其实就那么一回儿事儿之源码分析》,给大家谈了ArrayList, 那么本次,就给大家一起看看同为List 家族的LinkedList。 下面就直接看源码吧:public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, java.i转载 2016-06-20 14:46:24 · 500 阅读 · 0 评论 -
HashSet其实就那么一回事儿之源码浅析
上篇文章《HashMap其实就那么一回事儿之源码浅析》介绍了hashMap, 本次将带大家看看HashSet, HashSet其实就是基于HashMap实现, 因此,熟悉了HashMap, 再来看HashSet的源码,会觉得极其简单。下面还是直接看源码吧:public class HashSet extends AbstractSet implements Set, Cl转载 2016-06-20 15:58:42 · 354 阅读 · 0 评论 -
遍历Map的四种方式
// 一、推荐只用value的时候用,都懂的。。。// Map.values()遍历所有的value,不遍历keyfor (String v : map.values()) {System.out.println("value= " + v);}// 二、取二次值,先取key再取value,建议只需要用key的时候使用,节省时间、空间// keySet遍历key和v转载 2016-08-15 14:50:40 · 373 阅读 · 0 评论 -
Timer/TimerTask与ScheduledExecutorService
周期性任务调度前世在JDK 5.0之前,java.util.Timer/TimerTask是唯一的内置任务调度方法,而且在很长一段时间里很热衷于使用这种方式进行周期性任务调度。首先研究下Timer/TimerTask的特性(至于javax.swing.Timer就不再研究了)。public void schedule(TimerTask task, long delay,转载 2016-11-03 18:17:39 · 1079 阅读 · 0 评论 -
Java环境的配置
一.下载安装java JDK,注意安装的路径,我们需要进行环境变量的配置。此处不做介绍。二.安装完成以后,配置环境变量1.环境变量的配置这里就以win7为例:右击计算机——属性——高级系统设置。2.点击下面的环境变量,进入后在系统变量一栏点击新建,然后输入如下:名称:JAVA_HOME变量值:刚刚安装的路径3.在上面的一栏中点击新建,内容如下:原创 2016-10-24 13:01:16 · 1101 阅读 · 0 评论 -
Timer的缺陷 用ScheduledExecutorService替代
1、Timer管理延时任务的缺陷a、以前在项目中也经常使用定时器,比如每隔一段时间清理项目中的一些垃圾文件,每个一段时间进行数据清洗;然而Timer是存在一些缺陷的,因为Timer在执行定时任务时只会创建一个线程,所以如果存在多个任务,且任务时间过长,超过了两个任务的间隔时间,会发生一些缺陷:下面看例子:Timer的源码:public class Timer { /转载 2016-11-04 11:23:29 · 645 阅读 · 0 评论 -
java中定时器Timer/TimerTask的使用方法
第一种方法:schedule(TimerTask task, long delay) 设定指定任务task在指定延迟delay后执行第二种方法:schedule(TimerTask task, long delay, long period) 设定指定任务task在指定延迟delay后进行固定频率peroid的执行 第三种方法:schedule(TimerTask task,Date原创 2016-11-02 11:34:31 · 2938 阅读 · 0 评论 -
ScheduledExecutorService中的方法介绍
ScheduleExecutorService接口中有四个重要的方法,其中scheduleAtFixedRate和scheduleWithFixedDelay在实现定时程序时比较方便。下面是该接口的原型定义Java.util.concurrent.ScheduleExecutorService extends ExecutorService extends Executor原创 2016-11-04 12:28:23 · 3758 阅读 · 0 评论 -
ArrayList其实就那么一回事儿之源码浅析
ArrayList 算是常用的集合之一了,不知作为javaner的你有没在百忙之中抽出一点时间看看ArrayList的源码呢。 如果看了,你会觉得其实ArrayList其实就那么一回事儿,对吧,下面就看看ArrayList的部分源码吧。public class ArrayList extends AbstractList implements List, RandomAcc转载 2016-06-20 12:42:55 · 758 阅读 · 0 评论 -
使用正则表达式验证一个字符串同时包含字母和数字
正则表达式^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]{6,20})$可以验证一个字符串是否同时包含字母和数字原创 2016-05-18 12:18:18 · 18110 阅读 · 1 评论 -
正则表达式语法
字符说明\将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”,“\(”匹配“(”。^匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与“\n”或“\r”之后的位置匹配。$原创 2016-05-18 11:05:57 · 418 阅读 · 0 评论 -
正则表达式(括号)、[中括号]、{大括号}的区别小结
正则表达式的() [] {}有不同的意思。() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。(\s*)表示连续空格的字符串。[]是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。{}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s[1,3]表示匹配一到三个空格。(0-9原创 2016-05-17 19:33:55 · 781 阅读 · 0 评论 -
JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程...]
类的继承Java只支持单继承,不允许多重继承 - 一个子类只能有一个父类 - 一个父类可以派生出多个子类 子类继承了父类,就继承了父类的方法和属性。 在子类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法。 因而,子类通常比父类的功能更多。 在Java 中,继承的关键字用的是“extends”,即子类不是父类的子集,而是对父类的“扩展”。转载 2016-10-27 18:46:35 · 1058 阅读 · 0 评论 -
java中判断字符串是否为数字的三种方法
1用Java自带的函数public static boolean isNumber(String str){ boolean re = true; for(int i=0;i<str.length();i++){ if(!Character.isDigit(str.charAt(i))){ re = false; break; } } return re;}2用正转载 2016-10-28 12:16:20 · 713 阅读 · 0 评论 -
HashMap其实就那么一回事儿之源码浅析
上篇文章《LinkedList其实就那么一回事儿之源码分析》介绍了LinkedList, 本次将为大家介绍HashMap。 在介绍HashMap之前,为了方便更清楚地理解源码,先大致说说HashMap的实现原理, HashMap 是基于数组 + 链表实现的, 首先HashMap就是一个大数组,在这个数组中,通过hash值去寻对应位置的元素, 如果遇到多个元素的hash值一样,那么怎么保存转载 2016-06-20 15:48:25 · 2145 阅读 · 0 评论