Java基础
这个很科学
这个作者很懒,什么都没留下…
展开
-
红黑树讲解-treeset-treemap
TreeSet and TreeMap总体介绍之所以把TreeSet和TreeMap放在一起讲解,是因为二者在Java里有着相同的实现,前者仅仅是对后者做了一层包装,也就是说TreeSet里面有一个TreeMap(适配器模式)**。因此本文将重点分析TreeMap。Java TreeMap实现了SortedMap接口,也就是说会按照key的大小顺序对Map中的元素进行排序,key大小的评判可以通过...转载 2018-07-11 15:07:22 · 715 阅读 · 0 评论 -
Java集合——HashMap、HashTable以及ConCurrentHashMap异同比较
0. 前言HashMap和HashTable的区别一种比较简单的回答是:(1)HashMap是非线程安全的,HashTable是线程安全的。(2)HashMap的键和值都允许有null存在,而HashTable则都不行。(3)因为线程安全、哈希效率的问题,HashMap效率比HashTable的要高。但是如果继续追问:Java中的另一个线程安全的与HashMap功能极其类似的类是什么?同样是线程安...转载 2018-07-11 15:04:05 · 145 阅读 · 0 评论 -
Java集合及concurrent并发包总结(转)
1.集合包 集合包最常用的有Collection和Map两个接口的实现类,Colleciton用于存放多个单对象,Map用于存放Key-Value形式的键值对。 Collection中最常用的又分为两种类型的接口:List和Set,两者最明显的差别为List支持放入重复的元素,而Set不支持。List最常用的实现类有:ArrayList、LinkedList、Vector及Stack;Se...转载 2018-07-11 15:04:22 · 155 阅读 · 0 评论 -
取模和取余的区别
其实取模和取余在目标上是一致的,但是因为语言对取余和取模上定义的不同,导致得到的结果不同。对取余和取模定义不同的语言中,两者的不同点只有一个取余运算在计算商值向0方向舍弃小数位取模运算在计算商值向负无穷方向舍弃小数位同时,也可以这样理解:取余,遵循尽可能让余数的绝对值小的原则取模,遵循尽可能让商小的原则从上面的区别可以总结出,取余(rem)和取模(m...转载 2018-07-11 15:04:43 · 9910 阅读 · 5 评论 -
java发送邮件
发送邮件是我们在程序开发中很常见的功能,比如注册通知、找回密码等,在网上也有很多关于JAVA发送邮件的示例,但多数都是只介绍了其中的一部分,今天为大家提供一些JAVA发送各种形式邮件的示例,供大家学习参考。JAVA MailJAVA Mail是很常用的用于发送邮件的包,我们可以从这里获取,或者在...转载 2018-07-11 15:04:53 · 227 阅读 · 0 评论 -
tomcat监听器java定时器
好多朋友用过Windows的任务计划,也有不少程序迷自己曾写过时钟报警、系统自动关机等趣味程序,可却很少有朋友在Web工程中实现过类似功能。 当Web工程启动时,定时器能自动开始计时,在整个Web工程的生命期里,定时器能在每晚深夜触发一次任务。因此定时器的存放位置也值得考查,不能简单的存在于单个Servlet或JavaBean中,必须能让定时器宿主的存活期为整个Web工程生命期,在工程启动时能自动...转载 2018-07-11 15:05:03 · 325 阅读 · 0 评论 -
获取Java程序运行的路径
网上很多人介绍了各种获取的方法,但是获取都不大好,一大番处理.我摘录了一个非常好的例子,不过我找到了一个更加好的方法.. System.getProperty("java.class.path")//这个方法可以获取当前运行程序的完整路径,绝对的路径,并且适应操作系统,无需处理,更加high的是,,哪怕你把jar文件弄成了exe文件,,都可以获取哦,相信非常多的人需要.System.getProp...转载 2018-07-11 15:05:13 · 13941 阅读 · 0 评论 -
Java中Properties类的操作
知识学而不用,就等于没用,到真正用到的时候还得重新再学。最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器大多用Java来写,外加一些脚本语言Python,Perl之类的,不得已,又得重新拾起。本文通过看《Java编程思想》和一些网友的博客总结而来,只为简单介绍Properties类的相关操作。 一、Java Prope...转载 2018-07-11 15:05:22 · 137 阅读 · 0 评论 -
InputStream的多种使用
以前写东西,尤其是网络传输方面总会碰到将某种格式的文本或者图片等转幻成数据流的方式来传输,那时候用的就直接网上找点就粘贴,也没什么搞懂到底是怎么个机理。后来抽点空就死啃了点这方面的文章,稍微懂了点,特意分享一下。 InputStream FileInputStream BufferInputStream InputStreamreader ByteArrayInputStrea...转载 2018-07-11 15:05:31 · 54500 阅读 · 1 评论 -
JAVA反射使用总结
反射机制是什么反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。反射机制能做什么反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;...转载 2018-07-11 15:06:07 · 185 阅读 · 0 评论 -
Java 中的异常和处理详解
简介程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态?。Java提供了更加优秀的解决办法:异常处理机制。异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。Java中的异...转载 2018-07-11 15:06:17 · 187 阅读 · 0 评论 -
图解排序算法(一)之3种简单排序(选择,冒泡,直接插入)
排序是数据处理中十分常见且核心的操作,虽说实际项目开发中很小几率会需要我们手动实现,毕竟每种语言的类库中都有n多种关于排序算法的实现。但是了解这些精妙的思想对我们还是大有裨益的。本文简单温习下最基础的三类算法:选择,冒泡,插入。 先定义个交换数组元素的函数,供排序时调用 /** * 交换数组元素 * @param arr * @param a * ...转载 2018-07-11 15:06:30 · 144 阅读 · 0 评论 -
(转)Java 可变对象和不可变对象
一、简单定义 不可变对象(Immutable Objects)即对象一旦被创建它的状态(对象的数据,也即对象属性值)就不能改变,反之即为可变对象(Mutable Objects)。 不可变对象的类即为不可变类(Immutable Class)。Java平台类库中包含许多不可变类,如String、基本类型的包装类、BigInteger和BigDecimal等。二、优缺点 不可变...转载 2018-07-23 15:44:18 · 8018 阅读 · 2 评论