09 2020 档案

摘要:HDFS高可用 什么是HDFS高可用 NameNode存在单点失效的问题。如果NameNode失效了,那么所有的客户端——包括MapReduce作业均无法读、写文件,因为NameNode是唯一存储元数据与文件到数据块映射的地方。在这种情况下,Hadoop系统无法提供服务,为了减少由计算机硬件和软件易 阅读全文
posted @ 2020-09-29 00:09 nohert 阅读(525) 评论(0) 推荐(0)
摘要:hdfs ui不能上传文件 在hdfs-site.xml 中添加 <property> <name>dfs.permissions</name> <value>false</value> </property> 将配置文件分别拷贝到所有节点机器上,启动hdfs ,使用ui界面即可解决 搭建ha集群时 阅读全文
posted @ 2020-09-26 10:39 nohert 阅读(149) 评论(0) 推荐(0)
摘要:hadoop3的jdk和基础环境搭建参考 url: https://www.cnblogs.com/gzgBlog/p/13702720.html 处节点设置为: IP 主机名 节点 192.168.10.11 mater NameNode(NN)、DataNode(DN) 192.168.10.1 阅读全文
posted @ 2020-09-26 02:25 nohert 阅读(755) 评论(0) 推荐(0)
摘要:Hadoop 3.x的发展Hadoop版本包括Hadoop 1.x、Hadoop 2.x和Hadoop 3.x。本节将以Hadoop 3.1.0为例,完成HDFS高可用的搭建。 Hadoop 3新特性 Hadoop 3.1.0 GA版本于2017年12月份正式发布。Hadoop 3相较于Hadoop 阅读全文
posted @ 2020-09-25 23:33 nohert 阅读(1355) 评论(0) 推荐(0)
摘要:基于JavaAPI对hdfs的操作 通过Java API来访问HDFS,首先介绍HDFS中的文件操作主要涉及的几个类。 ·Configuration类:该类的对象封装了客户端或者服务器的配置。 ·FileSystem类:该类的对象是一个文件系统对象,可以用该对象的一些方法对文件进行操作。FileSy 阅读全文
posted @ 2020-09-22 22:45 nohert 阅读(271) 评论(0) 推荐(0)
摘要:文件路径 1.1. 绝对路径 以根目录或某盘符开头的路径(或者说完整的路径) 例如: l c:/a.txt (Windows操作系统中) l c:/xxx/a.txt (Windows操作系统中) l /var/xx/aa.txt (Linux操作系统中) 绝对路径的问题: 比如C:\abc\a.p 阅读全文
posted @ 2020-09-22 02:42 nohert 阅读(1348) 评论(0) 推荐(0)
摘要:Properties类与配置文件 1.1 Properties配置文件说明 Properties类对应.properties文件。文件内容是键值对,键值对之间使用"="或空格隔开。开头是"#"的表示注释 Properties类在加载.properties文件时使用的iso8859-1的编码。所以这个 阅读全文
posted @ 2020-09-22 02:41 nohert 阅读(249) 评论(0) 推荐(0)
摘要:1 为什么要学内省? 开发框架时,经常需要使用java对象的属性来封装程序的数据,每次都使用反射技术完成此类操作过于麻烦,所以sun公司开发了一套API,专门用于操作java对象的属性。 内省是用于操作java对象的属性的,那么以下问题我们必须要清楚。 问题一: 什么是Java对象的属性和属性的读写 阅读全文
posted @ 2020-09-22 02:38 nohert 阅读(148) 评论(0) 推荐(0)
摘要:Junit单元测试 1.1. Junit单元测试框架的基本使用 一、搭建环境: 导入junit.jar包(junit4) 二、写测试类: 0,一般一个类对应一个测试类。 1,测试类与被测试类最好是放到同一个包中(可以是不同的源文件夹) 2,测试类的名字为被测试类的名字加Test后缀。 三:写测试方法 阅读全文
posted @ 2020-09-22 02:34 nohert 阅读(327) 评论(0) 推荐(0)
摘要:查看帮助 hdfs dfs -help 对文件的操作 HDFS的命令都在Hadoop的bin目录下,如果已经设置好Hadoop的环境变量,可以直接输入HDFS命令行,常见的相关命令如下。 1.列出HDFS下的文件 注意:区分大小写 2.上传文件 注意:上传文件的时间 -p时保留原时间 3.文件被复制 阅读全文
posted @ 2020-09-22 02:00 nohert 阅读(242) 评论(0) 推荐(0)
摘要:参考官网: http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是s 阅读全文
posted @ 2020-09-22 01:16 nohert 阅读(289) 评论(0) 推荐(0)
摘要:·第3个副本:放置在与第2个副本相同机架的节点上。分布式文件管理系统有很多,如DFS和HDFS,而HDFS适用于一次写入、多次查询的情况. DFS介绍 由于一台机器的存储容量有限,一旦数据量达到足够的级别,就需要将数据存放在多台机器上,这就是分布式文件系统,又称之为DFS(Distributed F 阅读全文
posted @ 2020-09-21 23:54 nohert 阅读(4211) 评论(0) 推荐(0)
摘要:搭建完全分布式时,先搭建好伪分布式,在其基础上做修改 参考: url: https://www.cnblogs.com/gzgBlog/p/13703051.html 完全分布式安装 伪分布式是基于单个节点,而完全分布式是基于两个或两个以上节点完成Hadoop集群搭建。 下面基于两个节点完成,一个节 阅读全文
posted @ 2020-09-21 02:04 nohert 阅读(274) 评论(0) 推荐(0)
摘要:搭建hadoop伪分布式环境时,要先搭建hadoop环境,参考 url: https://www.cnblogs.com/gzgBlog/p/13702720.html 1.进入hadoop配置文件目录 cd /app/hadoop-2.2.0/etc/hadoop 2.修改core-site.xm 阅读全文
posted @ 2020-09-20 23:44 nohert 阅读(166) 评论(0) 推荐(0)
摘要:1.使用vmware 创建了两个虚拟机 2.分别更改ip可参考url: https://www.cnblogs.com/gzgBlog/p/13693754.html 此处主节点IP : 192.168.10.11 从节点IP: 192.168.10.12 3.分别修改主机名:vi /etc/hos 阅读全文
posted @ 2020-09-20 22:27 nohert 阅读(177) 评论(0) 推荐(0)
摘要:Hadoop简介 Apache Hadoop本身是一个框架,它可以用简单的编程模型在计算机集群中对大型数据集进行分布式处理。它可以被设计成单个机器或成千上万台机器的集群,实现提供计算和存储服务。 Hadoop简介与意义 Apache开源软件基金会开发了运行在大规模普通服务器上,用于大数据存储、计算、 阅读全文
posted @ 2020-09-20 18:46 nohert 阅读(110) 评论(0) 推荐(0)
摘要:大数据技术框架 大数据技术框架主要包含6个部分,分别是数据收集、数据存储、资源管理、计算框架、数据分析和数据展示,每部分包括的具体技术如图1.1所示。 大数据的特点 大数据的特点可以用“4v”来表示,分别为volume、variety、velocity和value,下面具体介绍。 ·海量性(volu 阅读全文
posted @ 2020-09-20 18:42 nohert 阅读(796) 评论(0) 推荐(0)
摘要:1.通过文件更改 进入目录:/etc/sysconfig/network-scripts,修改文件ifcfg-ens33文件 vi ./ifcfg-ens33 如图修改本地ip类型为静态ip,设置自己的ip、子网掩码、及DNS服务(使用公共的即可,如图) 修改完毕,保存退出,并重启网络服务,使用如下 阅读全文
posted @ 2020-09-18 22:07 nohert 阅读(65974) 评论(0) 推荐(0)
摘要:Mysql学习笔记 设置编码:set charset gbk; 进入mysql :Mysql -uroot -proot 修改mysql提示符:Shell>mysql -uroot -proot –prompt 提示符 修改mysql提示符:Mysql>prompt 提示符 提示符:\D完整日期;\ 阅读全文
posted @ 2020-09-16 00:51 nohert 阅读(172) 评论(0) 推荐(0)
摘要:反射 类字节码文件是在硬盘上存储的,是一个个的.class文件。我们在new一个对象时,JVM会先把字节码文件的信息读出来放到内存中,第二次用时,就不用在加载了,而是直接使用之前缓存的这个字节码信息。 字节码的信息包括:类名、声明的方法、声明的字段等信息。在Java中“万物皆对象”,这些信息当然也需 阅读全文
posted @ 2020-09-15 04:44 nohert 阅读(205) 评论(0) 推荐(0)
摘要:设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 观察者模式 有时又被称为 发布-订阅<Publish/Subscribe>模式、 模型-视图<Model/Vi 阅读全文
posted @ 2020-09-15 04:40 nohert 阅读(174) 评论(0) 推荐(0)
摘要:对象拷贝 对象的浅拷贝 浅复制(浅克隆)被复制对象的所有变量都含有与原来对象相同的值,而所有的对其他对象的引用仍然只指向原来的对象,换言之,浅复制仅仅复制锁考虑的对象,而不复制它所引用的对象。 public class Student implements Cloneable{ String nam 阅读全文
posted @ 2020-09-15 04:36 nohert 阅读(503) 评论(0) 推荐(0)
摘要:批处理文件(bat) 简单的说,批处理的作用就是自动的连续执行多条命令 .编写bat处理文件可以使用记事本的方式: 常见批处理文件的命令: echo 表示显示此命令后的字符 tiltle 设置窗口的标题。 echo off 表示在此语句后所有运行的命令都不显示命令行本身 color 设置窗体的字体颜 阅读全文
posted @ 2020-09-15 04:34 nohert 阅读(616) 评论(0) 推荐(0)
摘要:Java事件监听机制 在上述的程序中,其中菜单条,菜单项,按钮等都是对象,当我们单击对象时,应该能够完成一些任务.例如在程序中通过鼠标操作时,单击,双击,鼠标移入,鼠标移出.能够执行一些任务,在Java中我们可以使用事件监听机制,在Java的事件监听机制中 ,当事件发生时(点击按钮,移动鼠标等,关闭 阅读全文
posted @ 2020-09-15 04:30 nohert 阅读(995) 评论(0) 推荐(0)
摘要:布局管理器 Java的GUI组件都放置在容器中,他们的位置是由容器的布局管理器来管理的.在前面的程序中,并没有指定将OK按钮放置在框架的什么位置,但是,Java知道应该把它放置在哪里,因为在后台工作的布局管理器能够将组件放到正确的位置.布局管理器是使用布局管理器类创建的. 我们可以使用setLayo 阅读全文
posted @ 2020-09-15 04:23 nohert 阅读(701) 评论(0) 推荐(0)
摘要:面板(Panel) 面板也是一个容器的组件,可以在上面添加 注意:面板不能单独使用,必须在顶层窗口中使用。 常见组件 一些常用的组件例如: JLabel, JButton , JTextField JPassworldField JRadioButton JCheckBox JTextArea JL 阅读全文
posted @ 2020-09-15 04:15 nohert 阅读(913) 评论(0) 推荐(0)
摘要:JoptionPane对话框 显示一个带有OK 按钮的模态对话框。 下面是几个使用showMessageDialog 的例子: Java代码 JOptionPane.showMessageDialog(null, "错误信息提示", "标题", JOptionPane.INFORMATION_MES 阅读全文
posted @ 2020-09-15 04:12 nohert 阅读(294) 评论(0) 推荐(0)
摘要:体验GUI import javax.swing.JFrame; import javax.swing.JOptionPane; public class Demo { public static void main(String[] args) { // 创建JFrame JFrame frame 阅读全文
posted @ 2020-09-15 02:24 nohert 阅读(305) 评论(0) 推荐(0)
摘要:Java GUI API GUI API包含的类分为三个部分:组件类(component class) 容器类(container class),和辅助类(helper class) 组件类是用来创建用户图形界面的,例如JButton,JLabel,JTextField. 容器类是用来包含其他组件的 阅读全文
posted @ 2020-09-15 02:19 nohert 阅读(311) 评论(0) 推荐(0)
摘要:GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在DOS命令行中通过javac java命令启动程序. 软件的交互的方式: 1. 命令交互方式 图书管理系统 2. 图形交互方式 Java提供了专业的API用于开发图形用户界面 GUI--> Graphic User Interfa 阅读全文
posted @ 2020-09-15 02:14 nohert 阅读(380) 评论(0) 推荐(0)
摘要:编码 什么是编码? 计算机中存储的都是二进制,但是要显示的时候,就是我们看到的却可以有中国 ,a 1 等字符 计算机中是没有存储字符的,但是我们却看到了。计算机在存储这些信息的时候,根据一个有规则的编号,当用户输入a 有a对映的编号,就将这个编号存进计算机中这就是编码。 计算机只能识别二进制数据。 阅读全文
posted @ 2020-09-15 02:08 nohert 阅读(166) 评论(0) 推荐(0)
摘要:操作基本数据类型的流对象 DataInputStream 以及DataOutputStream 查看API文档DataInputStream的信息。发现从底层输入流中读取基本 Java 数据类型。查看方法,有读一个字节,读一个char读一个double 的方法, DataInputStream 从数 阅读全文
posted @ 2020-09-14 23:09 nohert 阅读(165) 评论(0) 推荐(0)
摘要:操作数组的流对象 操作字节数组 ByteArrayInputStream 以及ByteArrayOutputStream toByteArray(); toString(); writeTo(OutputStream); public static void testByteArrayInputSt 阅读全文
posted @ 2020-09-14 23:08 nohert 阅读(144) 评论(0) 推荐(0)
摘要:打印流 PrintStream可以接受文件和其他字节输出流,所以打印流是对普通字节输出流的增强,其中定义了很多的重载的print()和println(),方便输出各种类型的数据。 PrintStream PrintWriter 1,打印流。 PrintStream: 是一个字节打印流,System. 阅读全文
posted @ 2020-09-14 23:06 nohert 阅读(201) 评论(0) 推荐(0)
摘要:Properties 可以和流相关联的集合对象Properties. Map |--Hashtable |--Properties Properties:该集合不需要泛型,因为该集合中的键值对都是String类型。 1,存入键值对:setProperty(key,value); 2,获取指定键对应的 阅读全文
posted @ 2020-09-14 09:58 nohert 阅读(160) 评论(0) 推荐(0)
摘要:对象的序列化 当创建对象时,程序运行时它就会存在,但是程序停止时,对象也就消失了.但是如果希望对象在程序不运行的情况下仍能存在并保存其信息,将会非常有用,对象将被重建并且拥有与程序上次运行时拥有的信息相同。可以使用对象的序列化。 对象的序列化: 将内存中的对象直接写入到文件设备中 对象的反序列化: 阅读全文
posted @ 2020-09-14 09:56 nohert 阅读(236) 评论(0) 推荐(0)
摘要:序列流 也称为合并流。 1. SequenceInputStream 序列流,对多个流进行合并。 SequenceInputStream 表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文 阅读全文
posted @ 2020-09-14 09:52 nohert 阅读(194) 评论(0) 推荐(0)
摘要:装饰器模式 需求:想要在读取的文件的每一行添加行号。 public class IoTest7_BufferedReader { public static void main(String[] args) throws IOException { readFile("c:\\a.txt"); } 阅读全文
posted @ 2020-09-07 03:05 nohert 阅读(127) 评论(0) 推荐(0)
摘要:字符流的缓冲区 查看Reader 发现Reader,操作的是字符,我们就不需要进行编码解码操作,由字符流读到二进制,自动进行解码得到字符,写入字符自动编码成二进制. Reader有一个子类BufferedReader。子类继承父类显然子类可以重写父类的方法,也可以增加自己的新方法。例如一次读一行就是 阅读全文
posted @ 2020-09-07 03:03 nohert 阅读(109) 评论(0) 推荐(0)
摘要:字符流的异常处理 public static void main(String[] args) throws Exception { String path1 = "c:/a.txt"; String path2 = "c:/b.txt"; copyFile2(path1, path2); } /* 阅读全文
posted @ 2020-09-07 03:01 nohert 阅读(120) 评论(0) 推荐(0)
摘要:字符流拷贝文件 一个文本文件中有中文有英文字母,有数字。想要把这个文件拷贝到别的目录中。 我们可以使用字节流进行拷贝,使用字符流呢?肯定也是可以的。、 1.1. 字符流拷贝文件实现1 public static void main(String[] args) throws Exception { 阅读全文
posted @ 2020-09-07 03:00 nohert 阅读(128) 评论(0) 推荐(0)
摘要:Writer Writer中的常见的方法: 1,write(ch): 将一个字符写入到流中。 2,write(char[]): 将一个字符数组写入到流中。 3,write(String): 将一个字符串写入到流中。 4,flush():刷新流,将流中的数据刷新到目的地中,流还存在。 5,close( 阅读全文
posted @ 2020-09-07 02:58 nohert 阅读(133) 评论(0) 推荐(0)
摘要:Reader 方法: 1,int read(): 读取一个字符。返回的是读到的那个字符。如果读到流的末尾,返回-1. 2,int read(char[]): 将读到的字符存入指定的数组中,返回的是读到的字符个数,也就是往数组里装的元素的个数。如果读到流的末尾,返回-1. 3,close() 读取字符 阅读全文
posted @ 2020-09-07 02:56 nohert 阅读(78) 评论(0) 推荐(0)
摘要:字符流 计算机并不区分二进制文件与文本文件。所有的文件都是以二进制形式来存储的,因此,从本质上说,所有的文件都是二进制文件。所以字符流是建立在字节流之上的,它能够提供字符层次的编码和解码。例如,在写入一个字符时,Java虚拟机会将字符转为文件指定的编码(默认是系统默认编码),在读取字符时,再将文件指 阅读全文
posted @ 2020-09-07 02:55 nohert 阅读(175) 评论(0) 推荐(0)
摘要:1.1. 缓冲流 上述程序中我们为了提高流的使用效率,自定义了字节数组,作为缓冲区.Java其实提供了专门的字节流缓冲来提高效率. BufferedInputStream和BufferedOutputStream BufferedOutputStream和BufferedOutputStream类可 阅读全文
posted @ 2020-09-07 02:53 nohert 阅读(109) 评论(0) 推荐(0)
摘要:字节流的异常处理 上述案例中所有的异常都只是进行了抛出处理,这样是不合理的。所以上述代码并不完善,因为异常没有处理。 当我们打开流,读和写,关闭流的时候都会出现异常,异常出现后,后面的代码都不会执行了。假设打开和关闭流出现了异常,那么显然close方法就不会再执行。那么会对程序有什么影响? 案例: 阅读全文
posted @ 2020-09-07 02:51 nohert 阅读(179) 评论(0) 推荐(0)
摘要:字节流文件拷贝 1.1. 字节输入输出流综合使用 通过字节输出流向文件中写入一些信息,并使用字节输入流把文件中的信息显示到控制台上。 public class IoTest3 { public static void main(String[] args) throws IOException { 阅读全文
posted @ 2020-09-07 02:50 nohert 阅读(111) 评论(0) 推荐(0)
摘要:OutputStream 字节输出流 案例: 1,写代码实现把"Hello World!"写到"c:/a.txt"文件中。 a, c:/a.txt不存在时,测试一下。 b, c:/a.txt存在时,也测试一下。 要写两个版本: a, 使用write(int b) 实现。 b, 使用write(byt 阅读全文
posted @ 2020-09-07 02:47 nohert 阅读(108) 评论(0) 推荐(0)
摘要:1.InputStream 案例:读取"c:/a.txt"文件中的所有内容并在控制台显示出来。 注意:事先准备一个a.txt并放到c:/下,不要保存中文。 a, 使用read()方法实现。 b, 使用int read(byte[] b)方法实现。 写代码读取"c:/a.txt"文件中的所有的内容并在 阅读全文
posted @ 2020-09-07 02:38 nohert 阅读(139) 评论(0) 推荐(0)
摘要:字节流 什么是字节流 计算机中都是二进制数据,一个字节是8个2进制位.字节可以表示所有的数据,比如文本,音频,视频.图片,都是作为字节存在的.也就是说字节流处理的数据非常多。 在文本文件中存储的数据是以我们能读懂的方式表示的。而在二进制文件中存储的数据是用二进制形式表示的。我们是读不懂二进制文件的, 阅读全文
posted @ 2020-09-07 01:56 nohert 阅读(149) 评论(0) 推荐(0)
摘要:IO流体验与简介 File对象可以表示存在的文件或文件夹,也可以表示不存在的。 我们想要得到文件的内容怎么办,File只是操作文件,文件的内容如何处理就需要使用io流技术了。 例如在C盘下有一个名称为a.txt的文本文件.想要通过Java程序读出来文件中的内容,需要使用IO流技术.同样想要将程序中的 阅读全文
posted @ 2020-09-07 01:50 nohert 阅读(161) 评论(0) 推荐(0)
摘要:File类 1.1 File类说明 存储在变量,数组和对象中的数据是暂时的,当程序终止时他们就会丢失.为了能够永 久的保存程序中创建的数据,需要将他们存储到硬盘或光盘的文件中.这些文件可以移动,传送,亦可以被其他程序使用.由于数据存储在文件中,所以我们需要学习一个和文件有密切关系的类,叫做File类 阅读全文
posted @ 2020-09-07 01:45 nohert 阅读(234) 评论(0) 推荐(0)
摘要:正则表达式 正则表达式:其实一种规则,有自己特殊的应用,其作用就是针对于字符串进行操作。 正则:就是用于操作字符串的规则,其中这些规则使用了一些字符表示。 1. 快速体验正则表达式 public class Demo2{ public static void main(String[] args) 阅读全文
posted @ 2020-09-07 00:52 nohert 阅读(205) 评论(0) 推荐(0)
摘要:枚举类 一些方法在运行时,它需要的数据不能是任意的,而必须是一定范围内的值,此类问题在JDK5以前采用自定义带有枚举功能的类解决,Java5以后可以直接使用枚举予以解决。 例如: 交通灯(红、黄、绿) 性别(男、女) 星期(星期一、二、三…..) 分数等级(A、B、C、D、E) JDK 5新增的 e 阅读全文
posted @ 2020-09-07 00:39 nohert 阅读(206) 评论(0) 推荐(0)
摘要:自动装箱/拆箱 自动装箱:指开发人员可以把一个基本数据类型直接赋给对应的包装类。 自动拆箱:指开发人员可以把一个包装类对象直接赋给对应的基本数据类型。 典型应用: List list = new ArrayList(); list.add(1); //list.add(new Integer(1)) 阅读全文
posted @ 2020-09-07 00:33 nohert 阅读(231) 评论(0) 推荐(0)
摘要:可变参数 JDK中具有可变参数的类Arrays.asList()方法。 分别传多个参、传数组,传数组又传参的情况。 注意:传入基本数据类型数组的问题。 从JDK 5开始, Java 允许为方法定义长度可变的参数。 语法:数据类型…变量名。 可变长参数是Object[] 数组。(可变参数里存的是对象数 阅读全文
posted @ 2020-09-06 22:52 nohert 阅读(234) 评论(0) 推荐(0)
摘要:增强for循环 引入增强for循环的原因:在JDK5以前的版本中,遍历数组或集合中的元素,需先获得数组的长度或集合的迭代器,比较麻烦! 因此JDK5中定义了一种新的语法——增强for循环,以简化此类操作。增强for循环只能用在数组、或实现Iterable接口的集合类上 语法格式: for(变量类型 阅读全文
posted @ 2020-09-06 22:37 nohert 阅读(159) 评论(0) 推荐(0)
摘要:静态导入 JDK 1.5 增加的静态导入语法用于导入类的某个静态属性或方法。使用静态导入可以简化程序对类静态属性和方法的调用。 语法: import static 包名.类名.静态属性|静态方法|* 例如: import static java.lang.System.out import stat 阅读全文
posted @ 2020-09-06 22:35 nohert 阅读(126) 评论(0) 推荐(0)
摘要:泛型通配符 需求: 定义一个方法,接收一个集合对象(该集合有泛型),并打印出集合中的所有元素。 例如集合对象如下格式: Collection<Person> coll = new ArrayList<Person>(); coll.add(new Person("jack", 20)); coll. 阅读全文
posted @ 2020-09-06 21:52 nohert 阅读(205) 评论(0) 推荐(0)
摘要:泛型接口 public class Demo8 { public static void main(String[] args) { MyInter<String> my = new MyInter<String>(); my.print("泛型"); MyInter2 my2 = new MyIn 阅读全文
posted @ 2020-09-06 21:43 nohert 阅读(118) 评论(0) 推荐(0)
摘要:泛型类 格式 2. 类上的泛型声明 修饰符 class 类名<泛型>{ } import java.util.Arrays; public class Demo6<T> { public static void main(String[] args) { // 使用泛型类,创建对象的时候需要指定具体 阅读全文
posted @ 2020-09-06 21:42 nohert 阅读(211) 评论(0) 推荐(0)
摘要:泛型方法 需求:写一个函数,调用者传递什么类型的变量,该函数就返回什么类型的变量? 实现一: 由于无法确定具体传递什么类型的数据.那么方法的形参就定义为Object类型.返回值也就是Object类型.但是使用该函数时需要强制类型转换. private Object getDate(Object ob 阅读全文
posted @ 2020-09-06 21:37 nohert 阅读(164) 评论(0) 推荐(0)
摘要:泛型(Generic) 当集合中存储的对象类型不同时,那么会导致程序在运行的时候的转型异常 import java.util.ArrayList; import java.util.Iterator; public class Demo5 { public static void main(Stri 阅读全文
posted @ 2020-09-06 21:35 nohert 阅读(160) 评论(0) 推荐(0)
摘要:集合框架中的工具类:特点:该工具类中的方法都是静态的。 Collections:常见方法: 1, 对list进行二分查找: 前提该集合一定要有序。 int binarySearch(list,key); //必须根据元素自然顺序对列表进行升级排序 //要求list 集合中的元素都是Comparabl 阅读全文
posted @ 2020-09-03 00:54 nohert 阅读(167) 评论(0) 推荐(0)
摘要:TreeMap TreeMap的排序,TreeMap可以对集合中的键进行排序。如何实现键的排序? 方式一:元素自身具备比较性 和TreeSet一样原理,需要让存储在键位置的对象实现Comparable接口,重写compareTo方法,也就是让元素自身具备比较性,这种方式叫做元素的自然排序也叫做默认排 阅读全文
posted @ 2020-09-03 00:51 nohert 阅读(185) 评论(0) 推荐(0)
摘要:HashMap 底层是哈希表数据结构,线程是不同步的,可以存入null键,null值。要保证键的唯一性,需要覆盖hashCode方法,和equals方法。 案例:自定义对象作为Map的键。 import java.util.HashMap; import java.util.Iterator; im 阅读全文
posted @ 2020-09-03 00:50 nohert 阅读(186) 评论(0) 推荐(0)
摘要:遍历Map的方式: 1、将map 集合中所有的键取出存入set集合。 Set<K> keySet() 返回所有的key对象的Set集合 再通过get方法获取键对应的值。 2、 values() ,获取所有的值. Collection<V> values()不能获取到key对象 3、 Map.Entr 阅读全文
posted @ 2020-09-03 00:47 nohert 阅读(173) 评论(0) 推荐(0)
摘要:Map 如果程序中存储了几百万个学生,而且经常需要使用学号来搜索某个学生,那么这个需求有效的数据结构就是Map。Map是一种依照键(key)存储元素的容器,键(key)很像下标,在List中下标是整数。在Map中键(key)可以使任意类型的对象。Map中不能有重复的键(Key),每个键(key)都有 阅读全文
posted @ 2020-09-03 00:46 nohert 阅读(1962) 评论(0) 推荐(0)
摘要:TreeSet 案例:使用TreeSet集合存储字符串元素,并遍历 import java.util.TreeSet; public class Demo5 { public static void main(String[] args) { TreeSet ts = new TreeSet(); 阅读全文
posted @ 2020-09-03 00:42 nohert 阅读(182) 评论(0) 推荐(0)
摘要:| Itreable 接口 实现该接口可以使用增强for循环 | Collection 描述所有集合共性的接口 | List接口 可以有重复元素的集合 | ArrayList | LinkedList | Set接口 不可以有重复元素的集合 | HashSet 线程不安全,存取速度快。底层是以哈希表 阅读全文
posted @ 2020-09-03 00:39 nohert 阅读(216) 评论(0) 推荐(0)
摘要:Set Set:注重独一无二的性质,该体系集合可以知道某物是否已近存在于集合中,不会存储重复的元素 用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复。 对象的相等性 引用到堆上同一个对象的两个引用是相等的。如果对两个引用调用hashCode方法,会得到相同的结果,如果对象所属的类没有覆盖O 阅读全文
posted @ 2020-09-03 00:37 nohert 阅读(126) 评论(0) 推荐(0)
摘要:迭代器 为了方便的处理集合中的元素,Java中出现了一个对象,该对象提供了一些方法专门处理集合中的元素.例如删除和获取集合中的元素.该对象就叫做迭代器(Iterator). 对 Collection 进行迭代的类,称其为迭代器。还是面向对象的思想,专业对象做专业的事情,迭代器就是专门取出集合元素的对 阅读全文
posted @ 2020-09-03 00:35 nohert 阅读(340) 评论(0) 推荐(0)
摘要:Vector Vector: 描述的是一个线程安全的ArrayList。 ArrayList: 单线程效率高 Vector : 多线程安全的,所以效率低 特有的方法: void addElement(E obj) 在集合末尾添加元素 E elementAt( int index) 返回指定角标的元素 阅读全文
posted @ 2020-09-03 00:30 nohert 阅读(131) 评论(0) 推荐(0)
摘要:LinkedList --| Iterable | Collection | List | ArrayList 底层采用数组实现,默认10。每次增长 60%,((oldCapacity * 3)/2 + 1) 查询快,增删慢。 | LinkedList 底层采用链表实现,增删快,查询慢。 Linke 阅读全文
posted @ 2020-09-03 00:28 nohert 阅读(191) 评论(0) 推荐(0)
摘要:ArrayList --| Iterable | Collection | List | ArrayList 底层采用数组实现,默认10。每次增长 60%,((oldCapacity * 3)/2 + 1) 查询快,增删慢。 | LinkedList ArrayList:实现原理: 数组实现, 查找 阅读全文
posted @ 2020-09-03 00:25 nohert 阅读(192) 评论(0) 推荐(0)
摘要:List | Iterable 接口 Iterator iterator() | Collection 接口 | List 接口 元素可以重复,允许在指定位置插入元素,并通过索 引来访问元素 1. List集合特有方法 1:增加 void add(int index, E element) 指定位置 阅读全文
posted @ 2020-09-03 00:23 nohert 阅读(151) 评论(0) 推荐(0)
摘要:集合类(Collection) Collection接口有两个子接口: List(链表|线性表) Set(集) 特点: Collection中描述的是集合共有的功能(CRUD) List可存放重复元素,元素存取是有序的 Set不可以存放重复元素,元素存取是无序的 java.util.Collecti 阅读全文
posted @ 2020-09-03 00:19 nohert 阅读(534) 评论(0) 推荐(0)
摘要:1. 集合 1.1. 什么是集合 存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式。 集合的出现就是为了持有对象。集合中可以存储任意类型的对象, 而且长度可变。在程序中有可能无法预先知道需要多少个对象, 那么用数组来装对 阅读全文
posted @ 2020-09-03 00:13 nohert 阅读(147) 评论(0) 推荐(0)
摘要:股票的投资方法与技巧 一、证券分析的主要方法 1.基本面分析 对影响股票关系的供求关系的基本要素(侧重长期分析): 1.宏观经济形势 2. 行业的动态变化 3. 上市公司的业绩前景 4. 有关股票市场的政治因素 5. 股票交易心里因素 资料来源: 1.上市公司的招股说明书 2.上市报告书 3.公司的 阅读全文
posted @ 2020-09-02 01:42 nohert 阅读(339) 评论(0) 推荐(0)
摘要:股票学习第一天 学习视频资料——股票从入门到精通12课:https://www.bilibili.com/video/BV1ab411C7yi?p=3 股票名人: 股神 沃伦.巴菲特 白手起家 乔治.索罗斯 股票的发展背景: 国家不跨,证券不跨 1602年 荷兰 阿姆斯特丹 417年 1790年 美 阅读全文
posted @ 2020-09-02 01:40 nohert 阅读(527) 评论(0) 推荐(0)
摘要:后台线程 后台线程:就是隐藏起来一直在默默运行的线程,直到进程结束。 实现: setDaemon(boolean on) 特点: 当所有的非后台线程结束时,程序也就终止了同时还会杀死进程中的所有后台线程,也就是说,只要有非后台线程还在运行,程序就不会终止,执行main方法的主线程就是一个非后台线程。 阅读全文
posted @ 2020-09-02 01:26 nohert 阅读(195) 评论(0) 推荐(0)
摘要:线程生命周期 任何事物都是生命周期,线程也是, 1. 正常终止 当线程的run()执行完毕,线程死亡。 2. 使用标记停止线程 注意:Stop方法已过时,就不能再使用这个方法。 如何使用标记停止线程停止线程。 开启多线程运行,运行代码通常是循环结构,只要控制住循环,就可以让run方法结束,线程就结束 阅读全文
posted @ 2020-09-01 22:53 nohert 阅读(117) 评论(0) 推荐(0)
摘要:线程的通讯 线程间通信其实就是多个线程在操作同一个资源,但操作动作不同 生产者消费者 如果有多个生产者和消费者,一定要使用while循环判断标记,然后在使用notifyAll唤醒,否者容易只用notify容易出现只唤醒本方线程情况,导致程序中的所有线程都在等待。 例如:有一个数据存储空间,划分为两个 阅读全文
posted @ 2020-09-01 22:52 nohert 阅读(190) 评论(0) 推荐(0)
摘要:锁对象 什么是锁对象? 每个java对象都有一个锁对象.而且只有一把钥匙. 如何创建锁对象: 可以使用this关键字作为锁对象,也可以使用所在类的字节码文件对应的Class对象作为锁对象 1. 类名.class 2. 对象.getClass() 注意:非静态同步函数的锁对象是 this 对象,静态的 阅读全文
posted @ 2020-09-01 21:15 nohert 阅读(946) 评论(0) 推荐(0)
摘要:创建线程的方式二实现Runnable接口 创建线程的第二种方式.使用Runnable接口. 该类中的代码就是对线程要执行的任务的定义. 1:定义了实现Runnable接口 2:重写Runnable接口中的run方法,就是将线程运行的代码放入在run方法中 3:通过Thread类建立线程对象 4:将R 阅读全文
posted @ 2020-09-01 21:07 nohert 阅读(247) 评论(0) 推荐(0)
摘要:线程常见的方法 Thread(String name) 初始化线程的名字 getName() 返回线程的名字 setName(String name) 设置线程对象名 sleep() 线程睡眠指定的毫秒数。 getPriority() 返回当前线程对象的优先级 默认线程的优先级是5 setPrior 阅读全文
posted @ 2020-09-01 21:01 nohert 阅读(153) 评论(0) 推荐(0)
摘要:创建线程的方式一 1. 继承Thread类 getName()是获取线程的名字。 执行后的效果: 问题: 先按照顺序运行完了张三,然后接着再按照顺序运行完李四,我们想要的效果是张三和李四做资源的争夺战,也就是先是张三然后李四,没有顺序执行。这就证明多线程没有起到效果。 2. 需要复写run方法,把要 阅读全文
posted @ 2020-09-01 20:54 nohert 阅读(197) 评论(0) 推荐(0)
摘要:主(main)方法线程 主线程:执行主(main)方法的线程 单线程程序:Java程序中只有一个线程,执行从main方法开始,从上到下依次执行 单线程程序例: public class MainThread { public static void main(String[] args) { One 阅读全文
posted @ 2020-09-01 19:34 nohert 阅读(729) 评论(0) 推荐(0)
摘要:线程的概述 进程:正在运行的程序,负责了这个程序的内存空间分配,代表了内存中的执行区域。 线程:就是在一个进程中负责一个执行路径。 多线程:就是在一个进程中多个执行路径同时执行。 多线程的好处: 解决了一个进程里面可以同时运行多个任务(执行路径)。 提供资源的利用率,而不是提供效率。 多线程的弊端: 阅读全文
posted @ 2020-09-01 16:41 nohert 阅读(147) 评论(0) 推荐(0)