JavaSE
文章平均质量分 61
入门Java
图灵的猫.
给行业以ai,而不是给ai以行业
展开
-
深入浅出Java反射机制
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.以上的总结就是什么是反射反射就是把java类中的各种成分映射成一个个的Java对象。转载 2018-07-18 18:29:51 · 351 阅读 · 0 评论 -
Java中synchronized与Lock的区别
***//***//***//***//***/}lock():获取锁,如果锁被暂用则一直等待unlock():释放锁tryLock(): 注意返回类型是boolean,如果获取锁的时候锁被占用就返回false,否则返回truetryLock(long time, TimeUnit unit):比起tryLock()就是给了一个时间期限,保证等待参数时间。原创 2018-07-20 13:07:56 · 16514 阅读 · 7 评论 -
多线程三大概念:并发并行,阻塞,同异步
1. 阻塞,非阻塞 首先,阻塞这个词来自操作系统的线程/进程的状态模型中,如下图:一个线程/进程经历的5个状态,创建,就绪,运行,阻塞,终止。各个状态的转换条件如上图,其中有个阻塞状态,就是说当线程中调用某个函数,需要IO请求,或者暂时得不到竞争资源的,操作系统会把该线程阻塞起来,避免浪费CPU资源,等到得到了资源,再变成就绪状态,等待CPU调度运行。阻塞调用是指调用结果返回...转载 2018-08-02 19:22:53 · 731 阅读 · 0 评论 -
Java中List与ArrayList的区别及用法
因此,List接口不能被构造,也就是我们说的不能创建实例对象,但是我们可以像下面那样为List接口创建一个指向自己的对象引用,而ArrayList实现类的实例对象就在这充当了这个指向List接口的对象引用。要是你已经学过了OOP,上面的部分是不难理解的,这是面向对象重要的知识点,面向对象最重要的就是多态,我们都知道接口和抽象不能被实例化,但是它们可以创建一个指向自己的对象引用,它们的实现类或子类就在充当这样的角色,我想这就是面向对象编程中多态的优势。原创 2018-07-10 21:34:37 · 6538 阅读 · 1 评论 -
一文搞懂Java泛型到底是什么东东
对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java 泛型详解、Java中的泛型方法、java泛型详解我的机器学习教程「美团」算法工程师带你入门机器学习 已经开始更新了,欢迎大家订阅~任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在...原创 2018-04-17 22:02:43 · 8274 阅读 · 2 评论 -
Java中getclass(),class()与iinstanceof的区别与联系
getclass()学过Python的同学肯定很熟悉,是不是有点像__dict__ method?其实这个自省,JAVA中叫做反射,可以理解为在运行时期获取对象类型信息的操作,两者几乎相同。传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编写更加具有可移植性的代码。严格地说,反射并非编程语言的特性,因为在任何一种语言都可以实现反射机制,但是如果编程语言本身支持反射,那么反射的实现就会方便很多。原创 2018-04-30 23:15:56 · 1963 阅读 · 0 评论 -
Java中private修饰变量的继承问题
但是有的属性涉及安全因素或秘密因素不能让外面的程序调用,所以就用到了private,经过它定义的变量只能在此对象内部调用,外部程序就无法调用,也就是说只能供其自身调用,比如某个人是一个对象,那么他的血液就肯定是私有变量,只能供其自身调用来维持人的状态。答案是能被继承,只是不能通过子类访问,要通过父类的非private属性方法去访问,最常见的就比如public 修饰的setter或者getter(被子类继承)。私有的,加上这个修饰的类或属性,只能在同类里访问,同包和别的包不能访问。原创 2018-05-03 18:11:11 · 9241 阅读 · 0 评论 -
RMI:Java中的分布式计算框架
所需要的就是一种远程传输技术,它兼有 Java 的 RMI(Remote Method Invocation,远程方法调用)较少的资源占用量和更成熟的 CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)技术的健壮性。RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体现在它强大的开发分布式网络应用的能力上,是纯Java的网络分布式应用系统的核心解决方案之一。原创 2018-05-15 18:22:33 · 4653 阅读 · 0 评论 -
Java中的内部类与匿名内部类
在内部类中的属性和外部方法的参数两者从外表上看是同一个东西,但实际上却不是,所以他们两者是可以任意变化的,也就是说在内部类中我对属性的改变并不会影响到外部的形参,而然这从程序员的角度来看这是不可行的,毕竟站在程序的角度来看这两个根本就是同一个,如果内部类该变了,而外部方法的形参却没有改变这是难以理解和不可接受的,所以为了保持参数的一致性,就规定使用final来避免形参的不改变。匿名内部类由于没有名字,所以它的创建方式有点儿奇怪。匿名内部类不能是抽象的,它必须要实现继承的类或者实现的接口的所有抽象方法。原创 2018-05-16 13:33:59 · 367 阅读 · 0 评论