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

黑马程序员技术博客之交通灯问题学习笔记 以下是我学习张老师交通灯面试题的学习笔记,具体内容参见张老师的博客:联想利泰的一道做出来就给月薪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>、期待与您交流! ---

12.hashCode的作用:高效地从集合中查找元素。

(1)每个对象可以计算出一个哈希码,可以将哈希码分组,每组分别别对应某个存储区域。

将新元素放入时就只与部分元素比较就可以。所以,一个类的hashCode()方法只有在hashset中

才有意义。
(2)当一个对象被存入HashSet中后,就不能修改这个对象中
的那些参与计算哈希值的字段,否则,对象修改后的哈希值与
原来不同。即使用contains也检索不到对象。

(3)所谓内存泄露,就是对象不需要时,无法删除释放内存


13。getRealPath()读取项目文件夹的绝对位置
(1)类加载器ClassLoader可以加载普通文件
InputStream is=ReflectTest2.class.getResourceAsStream
("config.properties");
但只能读不能写

(2)读取键值:props.getProperty("className");


13.IntroSpector内省-->操作JavaBean可重用组件
JavaBean的方法的命名符合一定规则

如getAge(),对应的属性是Age,如果第二个字母是小写的,则变为age


14.内省:JDK中对JavaBean进行操作的一套API。
如果要在两个模块之间传递多个信息,可以将这些信息封装在
一个javabean中,叫做值对象——VO
(1)采用JavaBean读取设置对象属性:
PropertyDescriptor pd=new PropertyDescriptor("propertyName",obj.getClass());
	Method getX=pd.getReadMethod();
	Object retVal=getX.invoke(obj);
(2)采用BeanInfo读写属性。
BeanInfo beanInfo=IntroSpector.getBeanInfo(object.getClass())
(3)使用BeanUtil工具包。BeanUtil中有大量静态方法用于读
写对象的属性。输入输出除了对象外都是字符串形式.
BeanUtils.getProperty(pt1,"x");
BeanUtils.setProperty(pt1,"x","9");
BeanUtils.setProperty(pt1,"birthday.time","111");

把对象属性导入Map:
Map map=BeanUtils.describe(pt1);
map:x:"+map.get("x")
把Map导入对象:popular(obj,map)
读写Map:BeanUtils.setProperty(map2,"name","jyz")
   BeanUtils.getProperty(map2,"name")
(如果BeanUtils类型转换不准确时,可以用java.PropertyUtil)


15.注解

@Override 覆盖父类方法
@Deprecated 方法过时
注解类:
(1)a。注解类:@interface A{}
     b。应用了“注解类”的类:@A  ClassB{}
     c。对 “应用了注解类的类”进行反射的类:
Class C{B.class.isAnnotatiionPresent(A.class);
A a=B.class.getAnnotion(A.class);}
负责检查b是否符合注解
(2)元注解:有3种:@Retention(RetentionPolicy.RUNTIME)
@RetentionPolicy.SOURCE
@RetentionPolicy.CLASA
分别表示注解保留  运行时,源文件,class文件阶段
(class文件只有加载进类加载器后才会转变为字节码)
(Class,enum,interface,@interface 都属于Type)
(3)注解的属性:
a。一般属性:class xx()default 默认值;
注解时,@xxx(xx1=...,xx2=...)
b。特殊属性:class value();

当只有这一个属性或其他属性都有默认值的时候。进行注解时,

可以省略Value=,直接@xxx("...")

c。数组属性:class[]xxx()default 默认值;

16.泛型
(1)没泛型之前容器容纳Object类型,取出之后要强制类型转
换。容易出错。
(2)声明:List<String> list=new ArrayList();
而List list=new ArrayList<String>写法无效。
(3)类型声明只作用于编译阶段,用于给编译器检查。
      List<String>.Class==List<Integer>.Class
(4)在容器用了泛型后,也可以利用反射往其中加入不同类型
的元素,绕过编译器检查。
(5)参数类型只能是引用类型参数化类型不能组成数组。参数
化类型不考虑类型参数的继承关系。
Vector<String> v=new Vector<Object> 不合法!反之也不合法
	Vector v1=new Vector<String>();
	Vector<Object> v2=v1; 合法!注意区分编译时和运行时。
	//总结:引用的类型决定改引用可用的方法!

(6)a。泛型中的?通配符。用于函数参数中,如:
    void function(Collection<?> collection){}
在函数体中,用了通配符之后,不能用引用去调用与参数类型
有关的方法。   Collection<Object>coll=collection 合法!
b。<?extends Number>向下限定符,
Vector<?extends Number>x=new Vector<Integer>();合法!
    <?super Integer>向上限定符,
c。还可以限定多个边界(可以是父类,也可以是接口)。
限定符的范围总是包含自身。
(7)泛型的应用。
Map集合的Entry元素符合javaBean规则,在jsp页面中可以对它
进行迭代。
(8)类型推断:定义函数<T>function(T x, T y){}
当输入的x和y类型不同时也可以通过,这时返回值T是x和y
的共同最低父类
(9)类型变量的作用范围:class Xxx<T>{}全类
    public <E> retClass FunName(E e,T t){}全函数
    类的类型变量需要创建对象时才能确定,而静态方法不创建
对象就能调用。所以方法中如果使用了类的类型变量,就不能


声明为静态!
(10)还可以用类型变量表示异常,称为参数化类型。可以用
于
方法的throws列表中,但不能用于catch子句。
(11)Object与泛型比较:当函数有多个不确定类型的参数,
且参数之间类型相同,应该用泛型,因为Object是所有类的基
类,任何类型都能传进来,不能保证正确的操作。
public class GenericTest {
   public static void main(String[] args){
	Method method=GenericTest.class.getMethod("applyVector",Vector.class);
	Type[] types=method.getGenericParameterTypes();
	ParameterizedType pType=(ParameterizedType) types[0];
	System.out.println(pType.getRawType());
	System.out.println(pType.getActualTypeArguments()[0]);}
	public static void applyVector(Vector<Date> v){}
}

17.ClassLoder类加载器。jvm中类加载器有3种:
BootStrap->ExtClassLoader->AppClassLoader
除了BootStrap是c语言写的,其他类加载器本身都是都是类。
(1)类加载器的管辖范围:
Bootstrap:JRE/lib/rt.jar
ExtClassLoader: JRE/lib/ext/*.jar
AppClassLoader: CLASSPATH指定的所有jar或目录
(2)类加载器的委托机制:
这3个类是父子关系,当某个类加载器要载入类时,把加载任务
级传给父加载器,直到BootStrap。然后BootStrap寻找类,
找不到则逐级往下,直到到到类,若最终没找到这报异常。
(3)自定义类加载器:
a。继承ClassLoader
b。覆盖findClass()

c。调用父类的defineClass()把class文件转变为字节码。

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

霍尔编码器 vs 磁编码器:如何为你的电机控制项目选择最佳传感器(附实战对比) 本文深入对比了霍尔编码器和磁编码器在电机控制项目中的应用,从技术原理、性能参数、成本效益到实际场景选择提供了全面分析。通过实验室测试和项目案例,帮助工程师根据精度、环境抗性和预算选择最佳传感器方案,特别适合机器人、伺服驱动等领域的开发者参考。 阅读详情

相关推荐

麒麟KylinV10系统yum源更换全攻略:从官方源到第三方仓库的保姆级教程

本文详细介绍了麒麟KylinV10系统yum源的更换与优化方法,包括官方源配置、第三方仓库集成及RPM包管理技巧。通过实战案例和命令示例,帮助用户快速解决软件依赖问题,提升系统管理效率。特别适合需要在国产操作系统上进行开发的工程师参考。

weixin_30752699的博客 647

黑马程序员—写给各位同学,并致黑马各位老师的一封感谢信~~~~绝对给力

文章来源:黑马程序员,黑马论坛       我来自黑马五期的一个普通学员,这封感谢信,我不想写的那么多,因为再多的话语也写不尽我心里对黑马这个机构的感激,对黑马所有老师的感激。方立勋老师是黑马的CEO,和他相处过的同学都知道他是一个平易近人,学识渊博的老师,从来不会摆架子,和他沟通很有亲切感,我认为这样的老师,这样的领导是最伟大的。同样我要感谢张孝祥老师,他也是非常伟大的,他的理想,他的

heima_28的专栏 2814

麒麟V10桌面操作系统安装Qt5.12.3

在虚拟机中如何安装麒麟V10桌面系统,以及在麒麟系统中安装Qt框架,并正常编译运行Qt程序

阿龙的思考 3599

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

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

heima_25的专栏 1001

电磁流量计模拟前端电路设计与优化

模拟前端电路(AFE)是传感器信号处理的核心环节,通过放大、滤波和模数转换实现信号调理。其设计需重点考虑放大器共模抑制比(CMRR)和ADC分辨率等关键参数,在电磁流量计等工业测量应用中,AD8220仪表放大器与AD7172-2 Σ-Δ型ADC的组合能有效简化传统多级架构。现代过采样技术结合数字滤波可替代模拟滤波器,显著提升系统集成度与测量精度,这种设计方法同样适用于压力传感、生物电信号采集等需要高精度信号调理的场景。

weixin_42602241的博客 618

STM32F103新手必看:0.96寸OLED屏幕从接线到动态显示全攻略(附IIC避坑指南)

本文为STM32F103新手提供了0.96寸OLED屏幕从硬件接线到软件驱动的完整实战指南。重点解析了IIC通信的时序、设备地址(0x78/0x7A)的常见陷阱,并详细演示了如何实现字符显示与平滑滚动显示等动态效果,帮助开发者快速上手并避开常见调试难题。

stone的博客 552

黑马程序员--写给各位同学,并致黑马各位老师的一封感谢信~~~~绝对给力

我来自黑马五期的一个普通学员,这封感谢信,我不想写的那么多,因为再多的话语也写不尽我心里对黑马这个机构的感激,对黑马所有老师的感激。方立勋老师是黑马的CEO,和他相处过的同学都知道他是一个平易近人,学识渊博的老师,从来不会摆架子,和他沟通很有亲切感,我认为这样的老师,这样的领导是最伟大的。同样我要感谢张孝祥老师,他也是非常伟大的,他的理想,他的抱负,他的故事,让我感觉到一个程序员应该具备什么样思想

heima_hb5的专栏 1445

实战教程:如何用Python+小波变换+CNN搞定医学影像中的条纹噪声(附完整代码)

本文提供了一套完整的实战方案,指导如何利用Python结合小波变换与卷积神经网络(CNN)去除医学影像中的条纹噪声。该方法通过小波变换精准定位噪声,再使用轻量化CNN进行针对性清除,有效保护图像细节,并附有可运行的完整代码,为医学影像处理与AI分析提供高效工具。

weixin_29056101的博客 268

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

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

tangjinjava的专栏 593

fatal: unable to access ‘https://github.com/xxx.git/‘ OpenSSL SSL_connect: SSL_ERROR_SYSCALL 解决方案

 本文主要介绍了fatal: unable to access ‘https://github.com/xxx.git/’: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443解决方案,希望能对使用git的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 24万+

LDRA Testbed软件静态分析_操作指南

从本文起,将开始LDRA Testbed(TBrun)教程的系列文章,包括软件静态分析、单元测试、集成测试,以及基于Testbed的自动化工具开发、持续集成、常见问题解答等。LDRA公司是专业的软件测试工具与测试技术、咨询服务提供者,其总部位于英国利物浦。其旗舰产品Testbed/TBrun功能全面、易于使用,不仅适合于主机平台软件测试,同时适合于嵌入式软件测试。不仅能进行软件静态测试,还能进行软件单元测试、软件集成测试,在白盒测试领域运用比较广泛。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 1万+

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

------- ASP.Net+Unity开发、.Net培训、期待与您交流! --------- 1。javac是编译器,java是运行环境。java版本高于javac版本可以正常运行,反之不行。 2。eclipse开发环境下,分为workspace-项目-包的结构,上层结构的配置改变会影响下层。 3.常用操作:alt+/自动补全; ctrl+/注释鼠标选择区域;ctrl+Shift+T

进击的程序猿 579

Proxmox VE 9 更换源

创建一键更换Proxmox VE 9.0源的Bash脚本,实现快速替换软件源。脚本需包含订阅提醒关闭功能,兼容Proxmox VE 9.0系统,执行命令为bash /proxmox_9.0_Repo.sh。该工具可简化源配置过程,自动处理系统更新源替换及订阅提示屏蔽,适合需要快速配置Proxmox环境的用户使用。

极致,细节 4984

黑马程序员-基础知识学习总结

----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------       学习张老师的课已经有段时间了,通过学习张老师的课程,使我 对JAVA的基础有了更全面深入的了解。虽然在大学有学过,但是在学校受到大的环境影响,没有好好学习JAVa,还有一个原因就是大学里面的讲师没有张老师讲的这么细。通过对基础知识的学习,已经对JAVA的一些基

352

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

黑马程序员—黑马毕业学员发来的一封感谢信!

文章来源:黑马程序员,黑马论坛 经这位同学同意,公开信件内容,与所有同学共勉。信件内容如下: 方老师:           您好,告诉您一个好消息,我前几天拿到offer啦。过几天就会去上班了。月薪是10000元,再加上四险一金。公司是一个做技术的,有自己知识产权软件的公司,有很大的发展空间,各方面待遇都不错。老师您也为我感到高兴吧!         这个薪

heima_271的专栏 765

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

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

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

tomlucky001的专栏 763

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

黑马程序员—学习有感

博客,环境,等等 环境,造就人 沿着学长的足迹走下去

u012573367的专栏 867

黑马程序员_对近期学习的总结以及对未来的畅想.

  ---------------------- android培训 、java培训 、期待与您交流! ----------------------             当我准备转向 Java 方面的时候 , 在学习的过程中认识到了黑马 . 按黑马的要求学习了毕老师和张老师的基础部分的视频 , 回头看这快一个月的路程 , 自己对 Java ...

黑马程序员_吉许 217

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

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

传智播客的专栏 169

黑马程序员-----视频看完了,谈谈自己的感受

---------------------- android培训、java培训、期待与您交流! ------------------------ 视频终于看完了,虽然感觉有的地方还是没有吃透 但是相比自己自学的七零八落,真的系统了很多,这里要非常的感谢张孝祥老师! 张老师在讲课的时候,不仅是传递知识,同时讲课时的风采感染人 第一,语言幽默,尽管自己技术精通,但是讲课的过程中丝毫没有高高在上

yeti_38的专栏 3551

黑马程序员:java中的枚举(总结张老师的讲解内容)

------- android培训、java培训、期待与您交流! ---------- 黑马程序员:java中的枚举(总结张老师的讲解内容) 本文是根据枚举授课内容进行的总结,代码注释,和提出了一些问题。代码进行了修改,而非完全和课程中的一致,希望和大家相互交流,也希望大家多提建议。   /*什么是枚举?为什么要有枚举?  * 枚举就是要让某个类型的变量的取值只能为若干固定值的一个,否则

高处胜寒的博客 1088

黑马程序员-技术博客汇总

  从开始入学申请流程到现在,已经过了三个多月了,在这期间,根据毕老师的java基础视频,一步步把java的基础认真的梳理了一遍,争取能把基础巩固好,避免在黑马的学习过程中由于基础问题而导致的力不从心。视频中对知识点的讲解十分到位,相信只要是用心多看几遍,跟着后面多敲代码,都能有所收获。 java基础 黑马程序员-面向对象 黑马程序员-Java String类 黑马程序员...

weixin_33860147的博客 276

黑马程序员-北漂

----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------         因为一些事,第四期的黑马赶不上了。9月30号,我选择了辞职,10月16号上午我到达了北京,来北京的第一个晚上打开电脑上了黑马论坛,发现了12月份开班的事,我开始抓紧时间巩固之前学到的东西,并把张老师没讲完的课听完。 来北京10天了,开始有几天有点水土不服,

693

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

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

黑马程序员官方博客 1474

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

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

heima_28的专栏 1769

黑马程序员--一个6岁孩子妈妈的黑马之路——感谢黑马!!!!!!!....

一个6岁孩子妈妈致黑马的一封感谢信        一直以为自己能言善辩,提起笔来才发现竟然找不到合适的语言来表达我此时的心情。        也许你会说:不就一封感谢信吗,有那么难吗?我要说:是的,因为我要表达的不是感谢,而是感激,一种无法用语言表达出的感激之情。一句谢谢在我现在看来是那么苍白无力,但我却找不出更好的词来表达我对黑马的感激。        我,叫姚志华,是黑马

juemei_04的专栏 800
上一篇: 【黑马程序员】java多线程学习总结
下一篇: JavaBean构建
tnt2011cpp
博客等级 码龄15年 3粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值