
JAVA学习历程
文章平均质量分 69
包含java功能实现的代码,以及文字加代码的总结性文章,希望对大家有所帮助,也希望大家能提出宝贵的意见。
尚振伟
生如逆旅单行道,哪有岁月可回头。。。。。。。。。。
展开
-
浅议Lambda表达式
Lambda介绍Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。对接口的要求虽然使用 Lambda 表达式可以对某些接口进行简单的实现,但并不是所有的接口都可以使用 Lambda 表达式来实现。Lambda 规定接口中只能有一个需要被实现的方法,不是规定接口中只能有一个方法,因为原创 2022-04-09 12:39:34 · 573 阅读 · 0 评论 -
浅议JavaMail使用教程以及所遇问题及解决方案(壹)
最近在公司接到的一个任务中的一个功能是发邮件,之前没有接触过这方面的知识,就上网查了查,可以用JavaMail来做。JavaMail是专门提供给开发者处理电子邮件相关的编程接口。然后就根据JavaMail的API写了一个小实例,因为第一次用这个东西,所以遇到了一些问题,幸好都一一解决了。首先要导入jar包,否则程序无法运行,jar包下载地址:http://download.csdn.n原创 2017-03-13 16:01:55 · 1004 阅读 · 0 评论 -
浅议Java中I/O流
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备之间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。从不同的角度对流可以分为以下几类:1、输入流和输出流 输入流:只能从文件中读取数据,而不能向其中写入数据。 输出流:只能向文件中写入数据,而不能读取。 如从服务器通过网络传原创 2017-03-09 11:14:47 · 805 阅读 · 5 评论 -
Java多线程 并发编程
文章转自:点击打开链接一、多线程1、操作系统有两个容易混淆的概念,进程和线程。进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一转载 2017-03-08 17:07:29 · 623 阅读 · 0 评论 -
Eclipse配置springIDE插件
开始是在Eclipse中在线安装springIDE插件,结果装了好几次都是中途失败,原因是该插件中有几个jar太大,在线安装回失败,后来是先把插件下载下来,然后进行安装,终于成功了。安装步骤:1.下载插件,地址:http://spring.io/tools/sts/all2.选择Eclipse中help中的Install New Software,然后选择add,然后选择Archi原创 2017-02-14 13:34:31 · 25184 阅读 · 15 评论 -
Java集合小总结(花了一晚上的时间)
java中的Collection是一个集合接口。它提供了对集合进行基本操作的通用接口方法。Collection接口在java类库中有很多具体的实现,其意义在于为各种具体的集合提供了最大化的同一操作方式。Collections是一个包装类,它包含有各种有关集合操作的静态多态方法,就像是一个工具类,服务于java的Collection框架。Collection是最基本的集合接口,一个Col原创 2016-08-08 21:44:15 · 1768 阅读 · 7 评论 -
java面向对象的特征
计算机软件系统是现实生活中的业务在计算机中的映射,而现实生活中的业务其实就是一个个对象协作的过程。面向对象编程就是按现实业务一样的方式将程序代码按一个个对象进行组织和编写的程序代码,这样就可以把现实生活中的业务对象映射到计算机系统中。 面向对象的编程语言有封装、继承、多态等三个主要的特征。 1、封装 封装是保证软件部件具有优良的模块性的基础,封装的原创 2016-07-31 21:46:50 · 512 阅读 · 0 评论 -
利用递归和循环遍历文件
/** * 要对文件进行遍历,就是遍历其中所有的文件及文件夹,可以用递归和循环两种方式进行遍历(递归比较简单)。 * */package com.basic.exe;import java.io.File;import java.util.LinkedList;public class BianLiFile { public static void main(String[] a原创 2016-08-11 11:31:00 · 3096 阅读 · 2 评论 -
浅议java中的final、static关键字
static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。但是要注意的是,虽然在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非原创 2016-07-26 20:54:11 · 414 阅读 · 0 评论 -
抽象类和接口
抽象类:抽象类就是类本身不断向上抽取而来,在抽取的过程中,子类方法的声明相同,方法体不同,故在抽取的过程中就形成了没有方法体的方法,这个方法就叫抽象方法,该方法所在的类就叫抽象类。抽象类只描述了事物应该具备的基本行为,具体的内容,要通过子类的重写来描述该功能的特点。抽象类的特点:1、没有方法体,抽象方法一定要定义在抽象类中。2、抽象类和方法都必须用关键字abstract原创 2016-07-30 22:35:21 · 491 阅读 · 0 评论 -
"=="操作符和equals方法的区别
"=="操作符是用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同。要比较两个基本类型的数据或两个引用变量是否相等,只能用 == 操作符。如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如 Object obj=new Object();变量obj是一个内存,new Object()是另一个内原创 2016-07-31 16:51:15 · 572 阅读 · 0 评论 -
重载(Overloading)和重写(Overriding)
重载(Overloading)(1)、方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。(2)、java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法,这就是多态性原创 2016-07-31 22:15:43 · 518 阅读 · 0 评论 -
Java中的数组
数组:同一类型的数据的集合,其实就是容器,可以存储多个数据。作用:存储多个数据。特点:1、数组中存储的数据必须是同一类型的数据。2、存储时必须要明确要存储的元素的个数。好处:可以对存入的元素进行自动的编号,这些编号称之为索引、角标或者下标,而且是从零开始的。编号和数组中的元素是一一对应的,通过这种对应的关系,我们可以很容易找到相对应的数组中的元素。数组变量是引用数据原创 2016-08-07 17:01:38 · 579 阅读 · 0 评论 -
多线程问题的总结
多线程问题的总结 转http://blog.youkuaiyun.com/jack_chen19941、多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然”,只有达到”知其然知其所以然”的程度才可以说是把一个知识点运用自如。OK,下面说说我对这个转载 2016-08-17 21:56:12 · 804 阅读 · 0 评论 -
java中的File类
java中的File类是用来对操作系统中的文件进行操作的(这里的文件可以是操作系统中所有的文件,包括文件夹),和操作文件中信息的IO流是不同的。File类的功能:1、用来将文件和文件夹封装成File对象。2、通过File类方便对文件或者文件夹的属性信息进行操作。3、把File对象作为参数传递给流的构造参数。File类中的构造方法可以用来生成File对象,有:File原创 2016-08-12 15:02:25 · 752 阅读 · 0 评论 -
内部类(访问规则和静态内部类)
/* 内部类的访问规则: 1、内部类可以直接访问外部类的成员,包括私有。 之所以可以直接访问外部类中的成员,是因为内部类中持有了外部类中的一个引用 格式:外部类名.this 2、外部类要访问内部类必须要建立内部类对象。 访问格式:1、 当内部类定义在外部类的成员位置上,而且非私有,可以在外部类其他类中直接建立内部类对象。 格式: 外部类名.内部类名 变量原创 2015-11-09 09:07:29 · 673 阅读 · 0 评论 -
异常小总结
异常:是对问题的描述,将问题进行对象的封装。----------------------异常体系: Throwable |--Error |--Exception |--RuntimeException------------------------------------------异常体系的特点:异常体系中的所有类以及建立的对象都具备可抛性。原创 2015-11-10 21:38:09 · 459 阅读 · 0 评论 -
同步代码块和同步函数
/* 函数需要被对象调用,那么函数都有一个所属对象引用,就是this。 所以同步函数使用的锁是this。 */class Ticket4 implements Runnable{ boolean flag=true; private int ticket =100; Object obj=new Object(); public void run() { if(fla原创 2015-11-14 13:12:25 · 777 阅读 · 0 评论 -
拷贝文本文件的两种方式
/* 将C盘的一个文本文件复制到D盘。 复制原理: 其实就是将C盘下的文件数据存储到D盘的一个文件中。 步骤: 1、在D盘创建一个文件,用于存储C盘文件中的数据。 2、定义读取流和C盘文件关联。 3、通过不断的读写完成数据存储。 4、关闭资源。 */import java.io.FileReader;import java.io.FileWriter;import j原创 2015-11-25 20:17:19 · 1438 阅读 · 0 评论 -
通过缓冲区进行文件复制的操作
/* 通过缓冲区复制文件。 */import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class CopyTextByBuf { publ原创 2015-11-25 22:21:59 · 1434 阅读 · 0 评论 -
自定义一个类包含一个功能和readLine一致的方法来模拟BufferedReader
/* 明白了BufferedReader类中特有方法readLine的原理后, 可以自定义一个类包含一个功能和readLine一致的方法, 来模拟一下BufferedReader。 */import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;class M原创 2015-11-26 14:23:32 · 803 阅读 · 0 评论 -
用大写字母打印三角形
/**思路:先要获取从输入的字母到字母A一共有多少个字母,然后用得到的数建立外循环,来确定一共要输出多少行。然后建立两个循环来输出需要的样式。第一个循环:先从字母小的开始输出。第二个循环:先从字母较大的而开始输出。AABAABCBAABCDCBAABCDEDCBAABCDEFEDCBA*/import java.util.Scanner;class PrintChar0原创 2016-07-23 10:22:52 · 3690 阅读 · 0 评论 -
两个分数相加
/**思路:两个分数相加的时候,要先进行通分,然后再进行约分。所以要先求出两个分数中分母的最小公倍数,将分母变成一样,然后变换分子,进行相加的运算。再求出相加后分子和分母的最大公约数,进行约分。可以将求最小公倍数和最大公约封装成两个方法,这样可以提高代码的复用性,减少代码量。*/import java.util.Scanner;class FractionAdd { publi原创 2016-07-23 10:28:47 · 8748 阅读 · 0 评论 -
杨辉三角(利用二维数组)
/**思路:1、先找规律:第一列上的数全部是1,每一行的最后一个数也是1。 从第三行以后可以看出,从第二列开始,该位置数是前一行前两个数的和。2、建立两个函数,一个用于计算每个位置上的数,两一个函数用于输出杨辉三角。*/import java.util.Scanner;class Yhsj { public static void main(String[] args)原创 2016-07-24 21:17:20 · 1853 阅读 · 0 评论 -
好厉害 http://blog.youkuaiyun.com/zq602316498/
很早就对数据在内存中的结构和体积有深入了解的想法。平时写代码的过程中,对于这些完全处于一种感性的认识,对于代码中使用的数据结构和对象,尤其是处理大量数据的时候,总有种把控不住的感觉。趁周六日有时间的功夫,通过查阅一些有关虚拟机和内存对象的资料,和Eclipse查看源码,自己琢磨着实实在在计算一下一个对象到底是占用了多少空间,它在内存中到底是个什么样子的。于是经过了两天的探索,总于有了下面这篇文章。转载 2016-07-25 20:25:05 · 449 阅读 · 0 评论 -
再看冒泡和选择排序以及折半查找(二分查找)
/*** 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。* 冒泡排序算法的运作如下:*1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 *2. 对原创 2016-07-26 21:39:31 · 521 阅读 · 0 评论 -
手动输入数组中的数据然后对数组进行操作
/** * 写一个方法输入一个整型数组,要求打印出输入的数组所有元素之和, * 并打印出最大值和最小值。 * */package com.basic.erwei;import java.util.Scanner;public class Input { public static void main(String[] args) { chuli(); } public原创 2016-08-02 17:54:32 · 5986 阅读 · 0 评论 -
生成十个没有相同元素的随机数
/** * 初始化一个数量为10的不重复的随机数组。 * 思路:先要定义一个数组用于存储产生的随机数,获取随机数后,然后自定义一个函数用来 * 判断生成的随机数中是否有相同的元素,用boolean的函数。 * */package com.basic.work11;public class Random { public static void main(String[] args)原创 2016-08-02 21:45:26 · 735 阅读 · 0 评论 -
String字符串的操作
/** * 编程. 已知字符串:"this is a test of java". 按要求执行以下操作: (1) 统计该字符串中字母s出现的次数 (2) 取出子字符串"test" (3) 将本字符串复制到一个字符数组Char[] str中. (4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。 (5) 用两种方式实现该字符串的倒叙输出。(用St原创 2016-08-04 20:41:20 · 1075 阅读 · 0 评论 -
Map集合中查询人的银行卡信息
/** * 一个人对应多张银行卡 Card: cardNo:银行卡号,startDate:开户日期, money:余额 请设计一个程序,输入一个人的名称,得到这个人的所有银行卡信息。 (人名为key,List集合作为value); * */package com.basic.day15;import java.util.ArrayList;import j原创 2016-08-08 13:31:55 · 1473 阅读 · 0 评论 -
汉诺塔小游戏
需求:有三根柱子,分别为起始柱子、中间柱子和目标柱子,起始柱子上有圆盘,按从小到大的顺序摆放。需要将起始柱子上的圆盘全部挪到目标柱子上,在挪动的过程中可以借助中间柱子,每次只能挪动一个圆盘,而且每根柱子上的圆盘都是按从小到大的顺序摆放的。思路:1、当有一个圆盘的时候,可以直接将圆盘从其实柱子上挪到目标柱子上。2、当有两个圆盘的时候,就需要借助中间柱子来进行挪动,具体的挪动步骤是:想将起原创 2016-08-17 19:35:36 · 964 阅读 · 2 评论