【黑马程序员】张老师高新知识学习(1)

黑马程序员技术博客之交通灯问题学习笔记 以下是我学习张老师交通灯面试题的学习笔记,具体内容参见张老师的博客:联想利泰的一道做出来就给月薪7K的面试题--交通灯管理系统,个人觉得看这篇博客要比看视频省时间。 交通灯问题:模拟一个交通灯管理系统,不要求GUI 首先要对十字路口的路线进行分析,一个交通路口的路线总共有12条,分别是: 直行 左转 右转 N2S N2E N2W S2N S2W 阅读详情

------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ---------

1。javac是编译器,java是运行环境。java版本高于javac版本可以正常运行,反之不行。

2。eclipse开发环境下,分为workspace-项目-包的结构,上层结构的配置改变会影响下层。

3.常用操作:alt+/自动补全; ctrl+/注释鼠标选择区域;ctrl+Shift+T打开类型;ctrl+1快速修正

   自定义模板:windows-首选项-java-editor

4.静态导入。如 import static java.lang.Math;      

                       int a,b;   b=cos(a);    用静态导入可以省去原来的Math.

5.可变参数。可变参数必须是参数列表中最后一个  function(String str,double d,int...is){

            函数体中通过is[]数组来读取 }

6.for-each循环。int[]a;   

for(int b:a){  对b操作 }   等价于  for(int i=0;i<a.length;i++){int b=a[i]; 对b操作 }

7.自动装箱 Integer i=9  等价于 Integer i=new Integer(9)

8.枚举:定义枚举。任何函数都必须位于枚举元素之后。元素之间逗号,所有元素之后分号。构造函数必须为private
枚举元素后面括号中写入构造函数的参数。创建枚举对象的时候会创建每一个元素,并调用每个元素对应的构造函数。
9。用普通类模拟枚举
class WeekDay{
private WeekDay(){}
public final static WeekDay Monday=new WeekDay(); 
                ......}
   用抽象类模拟枚举
    
<span style="font-family:Microsoft YaHei;font-size:14px;"> abstract class WeekDay{
    	public final static WeekDay Monday=new WeekDay() {
		public WeekDay nextDay() {
			return Sunday;  } };
    	public final static WeekDay Sunday=new WeekDay(){
		public WeekDay nextDay() {
    			return Monday;  } };
    	public abstract WeekDay nextDay();
     }</span>


用抽象方法定义nextDay就将大量if-ele转换成了一个个独立的类

10.Class类是所有java类的类型,Class类的实例就是对应类的字节码。就比如同一个类的实例对象之间是代码相同而变量不同;

 Person.class就是Person类的字节码要获得Class类:

(1)静态变量:Person.class

(2)实例对象的Getclass()方法
 (3)Class.forName("java.lang.Math") forName的功能就是加载Math类的字节码。

反射:反射就是把Java类中的各种成分映射成相应的java类

(3)Class.forName("java.lang.Math") forName的功能就是加载Math类的字节码。
反射:反射就是把Java类中的各种成分映射成相应的java类。
为什么要用反射去调用?
可以通过改变输入的字符串去控制程序运行,而不用改变代码。
(4)反射调用含有数组参数的函数:
   method.invoke(...,new Object[]{new string[]{...}});
或method.invoke(...,(Object)new String[]{...});
(5)数组的字节码,维数相同类型相同class就相同 
(6)数组反射:可以得到数组中某个具体元素的类型,能得到原数组是什么类型的数组。

如int[]a=new int[3];
Object[] a=new Object[]{"a",1}
a[0].getClass().getName()得到具体元素的类型
11.反射的作用:实现框架功能
(1)在写框架时,不知道要被调用的类名。在程序中无法直接new出对象,只有用反射来做。
(2)框架调用用户程序,用户程序调用工具程序,这就是框架与工具的区别。
(3)用配置文件加反射来调用hasHset和arrayList

<span style="font-family:Microsoft YaHei;font-size:14px;">Collection collection=null;	    
InputStream is=new FileInputStream("F:/android/my_workspace/exam/src/com/itheima/config.properties");
Properties props=new Properties();
props.load(is);
is.close();
String className=props.getProperty("className");
collection=(Collection) Class.forName(className).newInstance();</span>


------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ---------

MPU6050模块DIY翻车实录:ID能读但数据全为零?原来是这个10uF电容惹的祸 本文详细记录了MPU6050模块调试过程中遇到的ID能读但数据全为零的问题排查过程。通过对比不同参考设计,发现CPOUT引脚10uF电容选择不当是导致数据异常的根源,更换为官方推荐的2.2nF电容后问题解决。文章为硬件开发者提供了宝贵的电路设计经验。 阅读详情

相关推荐

【博弈论】势博弈(potential game)、EPG以及最佳响应、Nash均衡和帕累托(pareto)最优的理解

文章目录前言一、Potential game二、Nash均衡和Pareto-optimal(帕累托最优)1.Nash 均衡2.Pareto最优三、Best response(最佳响应)四、Exact potential game(EPG)1.合作-傀儡博弈2.合作博弈3.傀儡博弈4.自激博弈5.双边对称交互博弈使用理解 前言 本文主要详细讲解potential game的概念以及Exact potential game 的定义和分类,以及这么博弈方法是如何在论文中引入并使用的,本文仅是对自己在该模块

weixin_44535200的博客 2万+

[黑马程序员]银行系统-跟着张老师敲代码

其实,这个题拿到之后,按照习惯,没有先直接继续看,er

tomlucky001的专栏 763

DM达梦数据库远程客户端工具连接6001错误,disql可以正常连接

DM达梦数据库远程客户端工具连接6001错误,disql可以正常连接

weixin_45906061的博客 4509

黑马程序员 Java自学总结二十二 张老师7K面试题之银行业务调度系统

总结内容来源于张孝祥老师的7K面试题之银行业务调度系统  这次又把张老师的银行业务调度系统看完了 , 看完后 , 第一感觉就是要比交通灯管理系统复杂很多 , 代码量也是交通灯的两倍 , 反复的看了3遍才勉强看明白 , 感觉现阶段自己完全不可能独立做出这种系统 , 不过就像张老师说的 , 每个人最初都是模仿 , 借鉴 , 使用别人的代码 , 用的多了 , 自己的经验多了 , 以后自己就会渐渐的

u011425950的专栏 810

DTW Barycenter Averaging(DBA)——平均序列求法

DBA该算法是用来求序列数据集SS的一致序列(平均序列)。由Franc-ois Petitjean提出的。目前,该方法求得的平均序列是最准确的。 假设一元组为S={s1,s2,⋯,sn}S={s1,s2,\cdots,sn},当SS中的元素为实数时,很容易求的SS的平均值: avg=s1+s2+⋯+snn(1) avg = \dfrac{s1 +s2+\cdots+sn}{n} \qquad\q

光怪陆离 1万+

A robust and easy to implement method for IMU calibration without external equipments(IMU标定)

A robust and easy to implement method for IMU calibration without external equipments 1 标定原理1 亲试可用,还有动态演示效果不错。相比商用产品的简易标定流程,该标定方法有以下几点不同: 给出了加速度计和陀螺仪更复杂的模型。 利用Allan方差的定义,标定陀螺仪的偏置。 大量冗余数据,保证最优化收敛。利用数十...

擦擦擦大侠的博客 3948

黑马程序员----张老师 之 交通灯管理系统

一、交通灯管理系统的业务。      模拟实现十字路口的交通灯管理系统逻辑,具体需求如下:     1.异步随机生成按照各个路线行驶的车辆。 例如:      由南而来去北向的车辆……直行车辆      由西而来去南向的车辆……右转车辆      由东而来去南向的车辆…….左转车辆     2.信号灯忽略黄灯,只考虑红灯和绿灯     3.应考虑左转

kayfire1的专栏 644

YOLOv8 轴承缺陷检测 使用YOLOv8进行训练、评估和可视化预测结果 包含1440张图片的轴承缺陷检测数据集 YOLO格式或XML格式

本文介绍了一个基于YOLOv8的轴承缺陷检测项目。数据集包含1440张图片,标注了4类缺陷(凹槽、凹陷、卡伤、划痕),按8:1:1比例划分为训练集(1152张)、验证集(144张)和测试集(144张)。标注文件支持YOLO格式和XML格式,可直接用于模型训练。项目实现了数据准备、模型训练、评估及可视化预测结果的全流程,使用YOLOv8n预训练模型进行50个epoch的训练,并提供了数据格式转换(XML转YOLO)的代码示例。最终模型可自动检测轴承表面缺陷,并保存预测结果。

OICQQ67658008的博客 1438

"黑马程序员"张老师Java高新技术学习(注解、类加载器)

----------------- android培训、java培训、期待与您交流! ---------------------- 注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记,没加,则等于没有某种标记,以后,javac编译器,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记,就去干相应的事。标记可以加在包,类,字段,方法,方法的参数以及局部变量上

tangjinjava的专栏 544

Kubernetes(K8s)从入门到精通系列之一:一篇文章了解K8s全部核心知识点

Kubernetes(K8s)从入门到精通系列之一:一篇文章了解K8s全部核心知识点

zhengzaifeidelushang的博客 849

15、导频辅助信道估计:挑战与解决方案

本文探讨了导频辅助信道估计在双选择性信道中的挑战,分析了传统方法的局限性,并提出了一种新的导频子载波结构。该结构综合考虑相干频率带宽与相干时间,通过动态移动导频位置并结合时间与频率分集,提升了高速移动环境下的信道估计性能。文章还讨论了其硬件实现、系统开销及兼容性等实际问题,并展望了优化策略、降低开销及与其他技术融合的未来研究方向。

o4p5q6r7s的博客 103

黑马程序员_张孝祥老师全部知识点总结

------- android培训、java培训、期待与您交流! ---------- eclipse工具以及IDE开发工具介绍 工程管理与快捷键配置: 工作台的概念 配置快捷键在Window-->Prefernces(选项)-->Keys-->Content Assist(内容助手)-->指定快捷键 视图管理与程序调试: 视图,就是eclipse中的工具视图窗

v191211的专栏 1163

使用Simulink进行四足机器人的非线性动力学建模与仿真

四足机器人的运动包含多个自由度(DOF),包括腿部的摆动和支撑阶段的动力学特性。由于存在接触力、摩擦以及不同地形的影响,四足机器人的动力学行为呈现出高度的非线性特征。因此,构建准确的非线性动力学模型对于研究机器人的运动学和动力学特性至关重要。定义代表机器人状态的变量,如位置、速度、角度和角速度。matlab深色版本通过本指南,我们介绍了如何基于Simulink搭建一个四足机器人的非线性动力学模型,并进行了详细分析。

xiaoheshang_123的博客 311

黑马程序员—纪念在黑马学习的那段日子—我的转型之路(黑马老学员)

文章来源:黑马程序员,黑马论坛 我的转型之路——纪念在黑马学习生活的那段日子(原文链接:http://blog.youkuaiyun.com/frank51314/article/details/7270052)       2011年8月之前,我还在山东的一家公司里面任职,担任一个小小的采购员,由于自己不愿意收受那些灰色的东西,所以自己的收入一直都是个2000多点的样子。现在,我坐在了联想研

heima_25的专栏 1001

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

"黑马程序员"张老师高新学习笔记(反射)

----------------- android培训、java培训、期待与您交流! ---------------------- 每个类被加载之后,系统就会为该类生成一个对应的Class对象通过该Class对象就可以访问到JVN中的这个类。java程序获得Class对象通常有如下三种方式: 1,使用Class类的forName()静态方法。该方法需要传入字符串参数,该字符

tangjinjava的专栏 593

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【黑马程序员】张老师高新知识学习(2)

12.hashCode的作用:高效地从集合中查找元素。 (1)每个对象可以计算出一个哈希码,可以将哈希码分组,每 组分别别对应某个存储区域。将新元素放入时就只与部分元素 比较就可以。所以,一个类的hashCode()方法只有在hashset中 才有意义。 (2)当一个对象被存入HashSet中后,就不能修改这个对象中 的那些参与计算哈希值的字段,否则,对

进击的程序猿 443

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

今晚直播丨大佬带你10分钟快速上手JavaScript

JavaScript是前端必须掌握的三大核心(HTML、CSS、JavaScript)基础技术之一,熟悉JavaScript基础语法,是继续深入学习其他前端开发技术栈的基本要求。今晚,黑...

传智播客的专栏 169

警告:肆意侵害黑马程序员权益的友商们看过来

众所周知,黑马程序员在IT领域的知名度非常高,很多学员想了解黑马的途径之一就是去百度搜索。而百度属于那种给钱就上、无视其他公司合法权益的公司,这点被很多无良企业利用,在百度上肆意侵害其他公司的权益。 罪状一:明显不是黑马程序员却声称是自己是黑马程序员。 误导用户,不清楚真实情况的学员肯定上当受骗。 罪状二:盗用张孝祥老师的名字,虚假宣传,你

黑马程序员官方博客 1474

黑马程序员—马上快毕业了,给你们点建议吧

文章来源:黑马程序员,黑马论坛 首先就是基础重要不重要,这个不好做定论,因为看你需要掌握的程度,黑马这边的课程需要基础在视频里都有,老毕的25天和张老师的高新技术,这些全部会用到,把这些全看熟了,并掌握原理才是关键,你去看什么字符串有操作创建几个对象这种的,自己提高可以,但对听课无帮助,除非你已经进入内存管理或者告诉缓存等方面的应用才会逐渐考虑对象的多少,占用内存,以及字符串常量池引起的浅溢出等

heima_28的专栏 1769

"黑马程序员"张老师Java高新技术学习(注解、类加载器)

----------------- android培训、java培训、期待与您交流! ----------------------注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记,没加

wcqlwyt的博客 151

黑马程序员--张老师--银行业务调度系统

------- android培训、java培训、期待与您交流! ----------

tototu的专栏 841

黑马程序员--高新技术之多线程

------- android培训、java培训、期待与您交流! ---------- 回顾一下至今为止接触的所有的java面试题,大概可以分为两部分:一部分是,对于一些关于java基础的某个知识点的理解, 比如说说明一下面向对象的思想,类的加载机制等,另外一部分也是比较实际比较棘手的一部分,就是给你一个项目,让你回去做, 而这些项目的实现大都用到了java多线程技术,比如说张老师所讲的

快乐小编的专栏 1132

黑马程序员_张老师的交通管理灯系统

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 黑马程序员_张老师的交通管理灯系统 这个是本人尝试做得第一个小项目,有些小收获。1.好的英语基础在做项目时,能使程序的阅读性好很多。2程序可以慢慢的调,但是思路一定等清楚,不然绕绕就把自己绕进去了,而且后期调错的时候就

u012936329的专栏 729

拿下9个offer后,我总结了几个高频面试题给大家!

今天,播妞开创了「学员故事」栏目,希望把最真实的黑马学员生活,分享给大家,也许可以从别人的故事、经历中,找到自己想要的答案。学习路上不孤单·一起高薪入行即使是最不爱学习的我也被感染了...

传智播客的专栏 280

黑马程序员_银行业务调度系统学习总结

通过学习了银行管理系统,让我

huangxuanheng的专栏 787

黑马程序员—黑马程序员CEO方立勋致全体员工和同学们的公开信

文章来源:黑马程序员,黑马论坛 黑马程序员全体同仁和各位同学:                         大家好!     首先感谢全体员工和黑马1—5届老学员在张孝祥老师年前不幸去世以来,在北京悲痛万分而又异常寒冷的冬夜,你们通宵达旦的援手和帮助。感谢黑马学员骆华亮、欧阳文愿、丁翔、陈祥亮.....你们自发奋勇的值夜守候,还有很多同学,虽然不能叫不上你们名字,但你们的身影深深

heima_23的专栏 1206
上一篇: 【黑马程序员】银行业务调度系统学习总结
下一篇: 【黑马程序员】java正则表达式学习总结
tnt2011cpp
博客等级 码龄15年 3粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值