202009-25 JAVA如何使用Math类操作数据 Math类位于java.lang包中,包含用于执行基本数学运算的方法,Math类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名,如:Math.round();常用的方法:通过案例我们来认识一下他们的使用吧!!运行结果:PS:Math类还提供了许多其他方法,各位小伙伴们可以注意关注wiki,查阅更多信息示例:定义一个包含10个元素的整型数组,通过随机产生10以内的随机数,给数组中的每个元素赋值,并输出结... 继续阅读 >
202009-24 通过实例了解Java Integer类和int的区别 代码实例如下publicstaticvoidmain(String[]args){Integeri=10;Integerj=10;System.out.println(i==j);Integera=128;Integerb=128;System.out.println(a==b);intk=10;System.out.println(k==i);intkk=128;System.out.println(kk==a);Integerm=newInteger(10);Integern=newInteger(10);System.out.println(m==n);}我们使用反编译工具Jad,得到的... 继续阅读 >
202009-24 Java类加载机制实现步骤解析 一、类的加载过程JVM将类的加载分为3个步骤:1、装载(Load)2、链接(Link)3、初始化(Initialize)其中链接(Link)又分3个步骤,如下图所示:1)装载:查找并加载类的二进制数据(查找和导入Class文件)加载是类加载过程的第一个阶段,在加载阶段,虚拟机需要完成以下三件事情:1、通过一个类的全限定名来获取其定义的二进制字节流。2、将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。3、在Java堆中生成一个... 继续阅读 >
202009-24 Python类的动态绑定实现原理 使用实例引用类的属性时,会发生动态绑定。即python会在实例每次引用类属性时,将对应的类属性绑定到实例上。动态绑定的例子:classA:deftest1(self):print("hello")deftest2(self):print("world")defbound():a=A()a.test1()A.test1=A.test2a.test1()if__name__=="__main__":bound()输出结果:hello2world从上述代码中可以看到,类方法的变化是实时影响实例对方法的调用的,这说明python是在... 继续阅读 >
202009-24 Python类和实例的属性机制原理详解 实例是具象化的类,它可以作为类访问所有静态绑定到类上的属性,包括类变量与方法,也可以作为实例访问动态绑定到实例上的属性。实例1:classA:work=list("hello")kind=list("world")another=1deftest1(self):print(self.work,self.kind,self.another)self.work[0],self.kind[0]="t","t"self.another+=1print(A.work,A.kind,A.another)if__name__=="__main__":a=A()a.test1()... 继续阅读 >
202009-24 Java Map接口及其实现类原理解析 Map接口Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value;Map中的键值对以Entry类型的对象实例形式存在;建(key值)不可重复,value值可以重复,一个value值可以和很多key值形成对应关系,每个建最多只能映射到一个值。Map支持泛型,形式如:Map<K,V>Map中使用put(Kkey,Vvalue)方法添加Map接口中定义的常用方法具体使用在实现类中讨论intsize();//获取Map集合大小(即元... 继续阅读 >
202009-24 Java多维数组和Arrays类方法总结详解 一.数组的三种声明方式总结publicclassWhatEver{publicstaticvoidmain(String[]args){//第一种例:String[]test1=newString[6];test1[0]="数组0";test1[1]="数组1";//第二种例:String[]test2={"数组0","数组1","数组2","...."};//第三种例:String[]test3=newString[]{"数组0","数组1","数组2","...."};}}<br><br>二.多维数组的遍历/二维数组/二维数组publiccla... 继续阅读 >
202009-24 Kotlin实现在类里面创建main函数 1、创建在class块外面:classTest{}/**我是main入口函数**/funmain(args:Array<String>){vartest=Test();}这样是一种方式,但是细心的童鞋可能会发现一个问题,目录里面的文件图标是灰色的,而且这种写法看上去怪怪的,有强迫症的可能会接受不了;2、创建在class里面:classTest{companionobject{/**我是main入口函数**/@JvmStaticfunmain(args:Array<String>){vartest=Test();}}}这样就可以把main入... 继续阅读 >
202009-24 JAVA Integer类常用方法解析 JAVA中Integer类下的常用方法有哪些?1.进制转换n进制转10进制字符串结果Integer.parseInt(Strings,intradix);radix范围为2-36(包括0-9,a-z)string输入为二进制字符串System.out.println(Integer.parseInt("10000",2));//162.int转二进制字符串System.out.println(Integer.toBinaryString(789));//11000101013.int的最大值和最小值System.out.println(Integer.MIN_VALUE);System.out.println(Integer.MAX_VALUE)... 继续阅读 >
202009-24 Java原子变量类常见问题解决 在学习多线程时,遇到了原子变量类,它是基于CAS和volatile实现的,能够保障对共享变量进行read-modify-write更新操作的原子性和可见性。于是我就写了一段代码试试,自认为非常正确。publicclassTest{privatestaticAtomicIntegerID=newAtomicInteger(0);publicstaticintnextID(){//返回的ID范围为1~100if(ID.get()==100){//ID到达100时,则从1开始ID.set(1);returnID.get();//retur... 继续阅读 >
202009-24 Java基于自定义类加载器实现热部署过程解析 热部署:热部署就是在不重启应用的情况下,当类的定义即字节码文件修改后,能够替换该Class创建的对象。一般情况下,类的加载都是由系统自带的类加载器完成,且对于同一个全限定名的java类,只能被加载一次,而且无法被卸载。可以使用自定义的ClassLoader替换系统的加载器,创建一个新的ClassLoader,再用它加载Class,得到的Class对象就是新的(因为不是同一个类加载器),再用该Class对象创建一个实例,从而实现动态更新... 继续阅读 >
202009-24 Java Character类对单个字符操作原理解析 Character类用于对单个字符进行操作,该对象中包装一个基本类型char的值。Character类提供了一系列方法来操纵字符。你可以使用Character的构造方法创建一个Character类对象,当你将一个char类型的参数传递给需要一个Character类型参数的方法时,这时编译器会自动将char类型参数转化为Character类型参数,这样我们可以称其为装箱,反之为拆箱。在Character类中,我们还需要了解转义序列(前面有反斜杠()的字符代表转义... 继续阅读 >
202009-24 Java类加载连接和初始化原理解析 1、当程序使用某个类时,JVM将会完成以下这三个步骤2、连接1)验证验证是否是合法的字节码文件。验证JDK版本是否正确等。2)准备给成员变量(类变量/静态变量)赋默认值把常量(final)等值在方法区的常量池中给准备好。3)解析虚拟机常量池内的符号引用(常量名)替换为引用(地址)的过程3、初始化<clinit>类初始化<clinit>类初始化由两部分组成:(1)静态变量的显示... 继续阅读 >
202009-24 Python类的绑定方法和非绑定方法实例解析 一、绑定方法1.对象的绑定方法首先我们明确一个知识点,凡是类中的方法或函数,默认情况下都是绑定给对象使用的。下面,我们通过实例,来慢慢解析绑定方法的应用。classPeople:def__init__(self,name,age):self.name=nameself.age=agedeftalk(self):passp=People('xiaohua',18)print(p.talk)输出结果:<boundmethodPeople.talkof<__main__.Peopleobjectat0x000000F802C69358>>从上... 继续阅读 >
202009-23 Java 动态生成类和实例, 并注入方法操作示例 本文实例讲述了Java动态生成类和实例,并注入方法。分享给大家供大家参考,具体如下:Java官方支持的,必须要有接口才行importjava.lang.reflect.Constructor;importjava.lang.reflect.InvocationHandler;importjava.lang.reflect.Method;importjava.lang.reflect.Proxy;importjava.util.LinkedList;importjava.util.List;importjava.util.Random;/***@authorDavidDing**/interfaceIJavaGen{intgetRandomInt(... 继续阅读 >
202009-23 Java StringBuilder类相关知识总结 1.构造方法:无参构造:newStringBuilder()——得到的是""一个空字符串有参构造:newStringBuilder("abc");2.成员方法:append()方法:在字符串的末尾添加内容,返回值仍然是this,故可以链式调用。publicclassDemo5{publicstaticvoidmain(String[]args){StringBuildersb=newStringBuilder("Iam");sb.append("agirl");sb.append(1);sb.append(true);sb.append("o").appeng("k");System.out.prin... 继续阅读 >