java基础
smilecattobelucky
天道酬勤
展开
-
eclipse和jdk历史版本下载地址
Eclipse历史各个版本下载地址:http://wiki.eclipse.org/Older_Versions_Of_EclipseJava历史各个版本下载地址:http://www.oracle.com/technetwork/java/javase/archive-139210.html转载 2017-09-16 22:36:58 · 2304 阅读 · 0 评论 -
Java反射机制
1 类的加载在学习反射机制之前,我们需要简单理解一下类的加载过程,了解一下类的初始化时机,以及什么是Class对象等知识,这有助于我们更好的理解反射原理。1.1类加载器 负责将类的字节码.class文件加载到内存,并为之生成对应的Class对象。利用类加载器,我们可以实现动态加载。类加载器的组成与作用1.Bootstrap ClassLoader : 引导类加载器 负责Java核心类的加载,...转载 2018-05-05 21:28:46 · 782 阅读 · 0 评论 -
Java异常机制
1、异常概述 Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch子句中的参数类型。 两个子类的实例,Error 和 Exception,通常用于指示发生了异常情况。1.1异常分类:异常包括Exception和Error,它们的特点...转载 2018-05-05 21:30:18 · 110 阅读 · 0 评论 -
Java集合框架之Map实例解析
1、Map概述1.1 什么是Map Map是将键映射到值( key-value )的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。Map 接口提供三种collection 视图,允许以键集(keySet())、值集(values())或键-值映射关系集(entrySet())的形式查看某个映射的内容( 即获取键值对的内容 )。映射顺序定义为迭代器在映射的 collection 视图...转载 2018-05-05 21:32:54 · 151 阅读 · 0 评论 -
Java之IO流---字节流,字符流,buffer,file
1.概述1.1 IO流的引入 IO流在很多语言已有体现,诸如C语言的stdio.h,C++中的iostream。Java中的IO流大抵是用于在控制台、磁盘、内存上进行数据的读写操作,完成数据的传递。我们可以对它进行如下分类:按处理的数据类型可分为字节流(byte)与字符流(char)按流的流向可分为输入流(in)与输出流(out)按流的功能可分为节点流(Node)和过滤流(Filter)本篇侧重...转载 2018-05-05 21:38:22 · 2846 阅读 · 0 评论 -
Java正则表达式
一、正则表达式是什么 正则表达式即定义了符合一定规范的字符串,用来约束给定字符串的形式,通过一定的模式来操作给定的字符串。常见的操作有匹配、分割和替换等操作。对字符串的操作一般用java.util.regex包下的Pattern和Matcher来配合操作。通常用的String类对字符串的正则操作内部也是用的前面两者来实现的。二、 常用的匹配规则1 字符构造 匹配x 字符 x\\ 反斜线字符...转载 2018-05-05 21:39:15 · 329 阅读 · 0 评论 -
线程间通信最好的例子(自认为)
1.需求:当list的长度不等于5时,开始等待wait,当等于5时,唤醒2.代码2.1定义waitdemo类/** * 线程通信 */public class WaitDemo { static List<String> list = new ArrayList<String>(); public static void add(){ list.add("an...原创 2018-05-05 23:24:32 · 841 阅读 · 2 评论 -
list集合set集合和数组之间的转换总结
原创 2018-06-07 00:38:45 · 5596 阅读 · 1 评论 -
'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
重装完系统后,发现,配置完java环境变量后,怎么也不管用了,后来改用了绝对路径.开发环境:win764位,eclipsemars2,jdk1.7配置步骤:JAVA_HOME:C:\Program Files\Java\jdk1.7.0_80Path:C:\Program Files\Java\jdk1.7.0_80\bin;C:\Program Files\Java\jdk1.7.0_80\...原创 2018-06-09 21:28:19 · 2957 阅读 · 0 评论 -
list和set和数组之间的相互转换最全总结
闲来无事,看了一天java源码,遇到一个问题,list和set和数组之间相互转换,有没有简单的方法,特地总结了一下,假如有错误,请在博客下面留言.package cn.yh.test;import java.util.ArrayList;import java.util.Arrays;import java.util.HashSet;import java.util.List;impo...原创 2018-06-27 00:19:46 · 1510 阅读 · 0 评论 -
java中object超级父类中方法
1.克隆clone为什么需要克隆对象?直接new不行吗?克隆的对象可能包含了一些已经修改过的属性,new出来的对象属性,需要初始化.当需要一个新的对象来保存当前对象的状态,需要使用clone方法.如果把对象的临时属性一个一个的值赋值给新new出来的对象,可以吗?可以的,不过比较麻烦.我们常见的object obj = new Object(); Object b; b=a;这种形式的代码复...原创 2018-07-10 16:55:16 · 684 阅读 · 0 评论 -
java开发书籍整理
一.基础类1.《Thinking in java》2.《Core Java》二.进阶类1.《Effective Java》2.《深入Java虚拟机》3.《Java Puzzlers》三.固定领域1.并发编程《Java Concurrency in Practic》《Java并发编程:设计原则与模式》《java threads》《Programming Concurrency on the JVM:...原创 2018-07-10 21:30:15 · 711 阅读 · 0 评论 -
java开发正则表达式
注:转载的,相当全在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包。 可粗略估计一下,除了偶尔用Linux的外,其他Linu x用户都会遇到正则表达式。正则表达式是个极端强大工具,而且在字符串模式-匹配和字符串模式-替换方面富有弹性。在Unix世界里,正则表达式几乎没有什么限制,可肯定的是,它应用非常之广...转载 2018-07-11 12:33:06 · 354 阅读 · 0 评论 -
细说 Java NIO
前言:本篇主要用于梳理NIO的相关知识,诸如缓冲区、通道、文件锁、选择器,附带的会说一下IO的知识,因为在某些地方NIO会用到它们。鉴于NIO已经出来甚久,本文旨在总结知识与交流学习,同时若能给他人带来一点帮助,那也是一份意外收获。1、IO (java.io.*)在前面的两篇博客Java之IO流—字节流、Java之IO流—字符流,我们详细的梳理了字节流与字符流的体系与使用细节,并没有对他们两者做一...转载 2018-05-05 21:27:03 · 152 阅读 · 0 评论 -
java集合基础
0、集合引入1)集合的由来? Java是面向对象编程语言,经常操作很多对象,必要时需存储对象(达到复用或管理等目的),常见容器如数组和StringBuffer(或StringBuilder,前者线程安全,效率较低,为了提高效率而引进)。 通常数组的长度固定,所以不适合做变化的需求(可以手动去重新分配调整,较麻烦),而StringBuffer(或StringBuilder)存储元素为字符串,...转载 2018-05-05 21:21:51 · 189 阅读 · 0 评论 -
学习java用到的开发工具
写在前面:对于新手开发 人员1.源码编写需要的工具:notepad++,eclipse,myeclipse2.源码源码的测试需要的单元测试工具:Junit3.源码管理需要的源码管理工具:svn git4.源码分析与设计需要的分析工具:staruml5.源码发布和jar包依赖管理自动化构建工具:maven6.源码编译执行需要的编译执行工具:jdk7.文档的编写需要的文档原创 2017-09-08 17:12:46 · 305 阅读 · 0 评论 -
java学习环境变量详细配置方法
win7以上用绝对路径java_homeC:\Program Files\Java\jdk1.8.0_101path;C:\Program Files\Java\jdk1.8.0_101\bin;C:\Program Files\Java\jdk1.8.0_101\bin;classpathC:\Program Files\Java\jdk1.8.0_101\lib\dt.原创 2017-09-08 17:17:09 · 251 阅读 · 0 评论 -
打开eclipse的时候会自动在桌面创建文件夹,删除之后再次打开还是会自动创建
打开eclipse的时候会自动在桌面创建,删除之后再次打开还是会自动创建一个文件夹eclipse,里面有删除方法:修改eclipse中p2目录的两个文件pools.info 和profiles.info,里面有路径的设置,把路径设置为移动后的新路径即可.原创 2017-09-17 08:44:05 · 5194 阅读 · 2 评论 -
eclipse设置注释模板最全版总结myeclipse也可以通用
摸索了很长时间,设置注释模板设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素啦。现就每一个元素逐一介绍:文件(Files)注释标签:/** * @Title: ${file_name} * @Package ${package_name} *原创 2017-09-09 17:54:44 · 1111 阅读 · 0 评论 -
Java中字符串indexof() 的使用方法
Java中字符串中子串的查找共有四种方法(indexof()) indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回-1。如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。Java中字符串中子串的查找共有四种方法,如下:1、int inde转载 2017-09-10 22:08:59 · 544 阅读 · 0 评论 -
eclipse文档注释配置
1.首先复制下面的文件,新建文本文件,并且命名为codetemplates.xml<?xml version="1.0" encoding="UTF-8"?> <templates> <template autoinsert="false" context="filecomment_con.原创 2018-03-03 00:06:14 · 3346 阅读 · 0 评论 -
关于BIO和NIO的理解
最近大概看了ZooKeeper和Mina的源码发现都是用Java NIO实现的,所以有必要搞清楚什么是NIO。下面是我结合网络资料自己总结的,为了节约时间图示随便画的,能达意就行。 简介:BIO:同步阻塞式IO,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。 NIO:同步非阻塞式...转载 2018-03-22 20:10:54 · 752 阅读 · 0 评论 -
多线程中sleep,yield,wait,join区别和联系
/** * 总结: * 1.sleep():谁调用,谁睡眠,不会释放对象锁,线程可以同步的,可以使用interrupt()强制中断睡眠 * 2.sleep():是Thread类的静态方法,需要捕获异常 * 3.join() 内部调用了 wait(),会出让锁,而 sleep()会一直保持锁。join()父线程等待子线程运行完成后再开始运行. * 4.调用wait()方法的时候,线程会放弃对象锁,...原创 2018-05-01 00:43:25 · 171 阅读 · 0 评论 -
java中|与||,&与&&到底有什么区别呢?
1.|(或),两边都要判断,假如有一边为真,结果为真.||(短路或),只需要判断左边即可,结果和|一样,效率更高.2.&(与),两边都要判断,假如有一边为假,结果为假&&(短路与),只需要判断左边,结果和&一样,效率更高....原创 2018-04-25 23:35:41 · 887 阅读 · 0 评论 -
MD5加盐工具类及测试
工具类package com.yh.commons;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.Random;import org.apache.commons.codec.binary.Hex;public class MD5Ut...原创 2018-04-26 01:48:47 · 1724 阅读 · 0 评论 -
java异常总结
1.java反序列化时排除的异常及解决办法:java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2353) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInput...原创 2018-05-04 13:32:22 · 211 阅读 · 0 评论 -
多线程基础
1 多线程的引入1.1 进程与线程在学习多线程之前,我们应该明白线程是什么,进程是什么,以及它们的联系与区别,这样才有助于我们理解多线程。 进程: 进程是系统进行资源分配和调度的一个独立单位,是具有一定独立功能的程序关于某个数据集合上的一次运行活动,每一个进程都有它自己的内存空间和系统资源。线程: 线程是CPU调度和分派的最小执行单元,它是比进程更小的能独立运行的基本单位,是进程的一个实体,是...转载 2018-05-05 21:19:10 · 103 阅读 · 0 评论 -
白话理解java多线程之join()方法
join字面意思是加入,我理解为插队.举例:妈妈在炒菜,发现没哟酱油了,让儿子去打酱油,儿子打完酱油,妈妈炒完菜,全家一起吃package cn.yh.thread01;/** * * 打酱油的例子 */public class Demo03 { public static void main(String[] args) { Mum mum = new Mum();...原创 2018-11-01 12:58:54 · 187 阅读 · 0 评论