https://blog.csdn.net/sinat_35512245/article/details/53767724 先来看一道面试题: java中关于继承的描述正确的是() A、一个子类只能继承一个父类...B、子类可以继承父类的构造方法 C、继承具有传递性 D、父类一般具有通用性,子类更具体 正确答案: A C D ---- 子类不可以继承父类的构造方法,只可以调用父类的构造方法。...子类中所有的构造函数都会默认访问父类中的空参数构造函数,这是因为子类的构造函数内第一行都有默认的super()语句。super()表示子类在初始化时调用父类的空参数的构造函数来完成初始化。...一个类都会有默认的空参数的构造函数,若指定了带参构造函数,那么默认的空参数的构造函数,就不存在了。这时如果子类的构造函数有默认的super()语句,那么就会出现错误,因为父类中没有空参数的构造函数。...因此,在子类中默认super()语句,在父类中无对应的构造函数,必须在子类的构造函数中通过this或super(参数)指定要访问的父类中的构造函数。 PS:方法没有继承一说,只有重载和重写
void main(String[] args){ 8 A aa = new A(); 9 10 A aa; //用数据类型+变量名,aa本身的内存是在栈中静态分配的...11 aa = new A(); //在堆中动态分配一块区域,被当做了A对象 12 //堆中内存的地址赋给了aa 13...//aa指向堆中的内存,aa代表了堆中的内存 14 //aa.i 代表:aa这个静态指针变量所指向的动态内存中的A对象的i这个成员 15 } 16 } 计算机的内存分配:
学习Java中难免会遇到路径问题,其中绝对路径和相对路径就很容易搞混淆。。。。...一、遇到的问题 ImageIcon icon = new ImageIcon("logo.jpg"); 执行结果是icon无法显示 二、解决的方案 如果类中有如下调用: ImageIcon icon =...其实所谓的相对路径起点是工程的根目录,即project。 这行代码执行时在project目录下查找名为logo.gif的文件,结果当然是找不到。...要得到工程的相对路径可通过 System.getProperty("user.dir")得到。 对图片和对文件的查找应该是一致的,如new File()。...总结:相对路径就是相对于工程根目录的位置 三、其他构造函数 查看了一下ImageIcon的构造函数。
在开发过程中经常会遇到一会乱码问题,不是什么大问题,但是也挺烦人的,今天来将我们开发总结的经验记录下来,希望可以给大家一些帮助。 一些概念: 字符:人们使用的记号,抽象意义上的一个符号。...比如:‘1’,‘中’,‘a’ 字节:计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间 字符集:使用哪些字符。也就是说哪些汉字,字母和符号会被收入标准中。...中文字符的每个字节最高位规定为 1(即中文的二进制是负数),这便是 GB2312 编码 GBK 由于中国汉字太多,在 GB2312 的基础上增加了更多的中文字符,这种编码是 GBK 问题:如果只是在中国...,那么大家都认识汉字,但是如果是别的国家,而该国家的码表中是没有收录汉字的。...编码中的第一个字节仍与 ASCII 兼容,这使得原来处理 ASCII 字符的软件无须或只需做少部分修改,即可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。
Java 提供了一种使用同步块创建线程和同步它们的任务的方法。 Java 中的同步块用 synchronized 关键字标记。 Java 中的同步块在某个对象上同步。...中通过一个称为监视器的概念实现的。...在上面的例子中,我们选择在 ThreadedSend 类的 run() 方法中同步 Sender 对象。 或者,我们可以将整个 send() 块定义为同步的,产生相同的结果。...然后我们不必在 ThreadedSend 类的 run() 方法中同步 Message 对象。...有时最好只同步方法的一部分。 方法中的 Java 同步块可以实现这个目的。
传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中synchronized和ReentrantLock等独占锁就是悲观锁的思想。...在Java中java.util.concurrent.atomic包下面的原子变量类就是使用了乐观锁的一种实现方式CAS实现的。乐观锁一般会使用版本号机制或CAS算法实现。...但是存在这样一种情况:如果一个值原来是A,变成了B,然后又变成了A,那么在CAS检查的时候会发现没有改变,但是实质上它已经发生了改变,这就是所谓的ABA问题。...在运用CAS做Lock-Free操作中有一个经典的ABA问题:比如线程1从内存位置V中取出A,这时另一个线程2也从内存中取出A,并且线程2进行了操作之后变成了B,然线程2又将V位置数据变成了A,这时候线程...java中AtomicStampedReference也实现了这个作用,它通过包装[E,Integer]的元组来对对象标记版本戳stamp,从而避免ABA问题。
按引用调用(call by reference) 表示方法接受的是调用者提供的变量地址。 一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值。 ...java中只有值传递! java中只有值传递! java中只有值传递! 重要的事情要说三遍!!! ...也就是说,方法得到的是所有参数值的一个拷贝,特别是,方法不能修改传递给它的任何参数变量的内容。...值的拷贝,这里是一个对象的调用。...方法得到的是对象引用的拷贝,对象引用及其他的拷贝同时引用同一个对象。
String 字符串 创建 String Object ---- String st1 = new String(“abc”); // 创建两个 Object: 常量池创建一个, Heap里复制常量池的对象...String 的 Intern() 方法 ---- String a = new String("aaaaa"); String b = a.intern(); // 返回 a 在常量池中的地址 String...String 的 StringBuilder() 构造器 和 StringBuffer() 构造 ---- StringBuilder 是 非线程安全的, append完成才返回完整的 final String...StringBuffer 是 线程安全的, 同样是 append 完成才返回完整的 final String; 主要用 append() 和 insert() 7....String 的 可变长参数 String... ---- String... 代表的就是 String []
此前已经对用户访谈前期的准备工作进行了总结,感兴趣的小伙伴可以戳这里,用户访谈(一):如何做好访谈前的准备工作? 本篇想探讨访谈过程中我们应该如何展开,以及有哪些访谈的话术和小技巧。 ?...初次访谈的人容易过于关注每个问题是否都问到了,下一个访谈问题是什么,但其实深入挖掘用户的看法和原因才是我们的访谈目的。...如何向用户提问是一门大学问,访谈中也可能会遇到各种突发情况,以下总结了一些访谈的小技巧,以及访谈中遇到的坑和解决办法,希望能更加高效精准地挖掘用户的想法。...减少封闭性问题 在访谈中应以开放性问题为主,尽量让用户多表述,在面对封闭性问题时,用户很可能会“偷懒”,直接选择一个回答,即使这个回答可能并不是他原本的想法。 例如“您每天都会使用腾讯新闻吗?”...在访谈过程中,用户有时不会按照既定的大纲顺序回答,在回答某个问题时往往会跳到之后要讨论的某个话题,这个时候建议顺着用户的回答问下去,在合适的时机再回到原来的顺序上,这当然要求访谈者对问题要足够熟悉。
、break、continue关键字的问题;加上最近一直关注的“码农每一题”于是自己回顾一下List的基础温故而知新了; 一、List几种遍历方式的问题 Java 中常见的几种遍历方式方式:1....$Itr.next(ArrayList.java:851) at Main.main(Main.java:31) 问题缘由: 这个问题是和Iterator的实现方式有关系的,以ArrayList...: 在stream[parallelStream中也是一样的]中关键字return、break、continue关键字使用问题是和Java8中流Stream的设计有关系的,在Java8中引入的流的目的是提高并发执行效率即...而parallelStream才是parallel无序的; 二、List几种遍历方式的效率问题 Java一直被人诟病的就是效率问题了,所以最后咋能不简单的对比一下呢; 基础测试前准备问题 1...CPU资源时的等待时间,所以难以保证时间的准确性; b、Java中JIT优化导致结果出现偏差; 在JVM中的JIT的JIT优化同样会导致结果出现偏差; JIT: 在Java编程语言和环境中,即时编译器
有两个问题: (1)子类对象可以转化为父类对象吗? (2)父类对象可以转化为子类对象吗?...---------------------------------------------------------------------------------------------- 第(1)个问题应该都不陌生...calss Son extends publc Father{} Father f = new Son(); //父类引用指向子类对象 其中,new Son()表示在在堆中分配了一段空间来存放类Son中的数据...---------------------------------------------------------------------------------------------- 第(2)个问题...对比son:1407343478,par:1407343478也可以看出 2、java父子类实例强制转化后 各实例之间的关系 子类实例转化为父类实例后 是否还从属(instanceof)于子类?
Java中数组的地址问题(hashCode解析): import java.util.Arrays; public class Action1 { public static void main(...array0, array0.length); System.out.println("2->生成新地址:\t"+array2.hashCode()); //4、new创建数组,相当于array2的Arrays.copyOf
前言 本文是笔者在日常开发过程中遇到的对 CAS 、 ABA 问题以及 JUC(java.util.concurrent)中 AtomicReference 相关类的设计的一些思考记录。...本文主体由三部分构成:首先阐述多线程场景数据同步的常用语言工具接着阐述什么是 ABA 问题,以及产生的原因和可能带来的影响再探索 JUC 中官方为解决 ABA 问题而做一些工具类设计文章的最后会对多线程数据同步常用解决方案做了简短地经验性总结与概括...一、异步场景常用工具在Java中的多线程数据同步的场景,常会出现:关键字 volatile关键字 synchronized可重入锁/读写锁 java.util.concurrent.locks....原子类型体系中使用 AtomicReference 来引用复合类型实例,但 Java 中 Object 类型在栈中保存的只是堆中对象数据块的地址,其结构形如下图: 而实际运行过程中,调用 AtomicReference...换个角度看这几个关键字:有现金的包:指向堆中数据的栈引用辣妹挑逗:其他线程抢占 CPU看起来一样空包:其他线程修改堆中数据发现包还在:仅检查栈中内存的地址值是否一致三、用 JUC 工具处理 ABA 问题
书上摘抄的一段话,非常有用 表示T应该是绑定类型的子类型(subType) T和绑定类型可以是类,也可以是接口。...选择关键字extands的原因是更接近子类的概念,并且java的设计者也不打算在语言中添加一个新的关键字。...这里的泛型用中extends 的关键字的意思,其实是在给泛型设置限定(bound)的时候, 让extends = extends or implements.
如果编解码都在中文环境中,通常也没有问题,但还是不推荐使用操作系统的默认编码,因为这样会使你的应用程序的编码格式和运行环境绑定起来,在跨环境时很可能出现乱码问题。 ...由于现在大部分基础的 Java 框架或系统默认的字符集编码都是 ISO-8859-1,所以很容易出现乱码问题。 ...通常用于将一个URL当做一个参数放在另一个URL中 3)Java与JS的编码解码问题。...七、常见问题的分析 基于前面的了解的Java web编码解码知识之后我们知道出现乱码问题唯一的原因就是在编码解码过程中采用的字符集不一致导致的,因为在一次操作中经常涉及多次编码和解码,因此出现乱码问题的时候也给我们排查带来的难度...八、Java Web编码解码问题总结 要解决中文编码问题,首先要搞清楚哪些地方会引起字符到字节的编码以及字节到字符的解码,最常见的地方就是存储数据到磁盘或者数据要经过网络传输。
| 导语 最近进行了一些定性研究项目,深度参与了用户访谈的整个周期,在此对自己访谈过程中的心得做一个复盘和总结。...真正有效的访谈需要满足三个条件:提对问题(将需求转化为问题维度)、正确沟通(通过访谈技巧有效获取用户信息)、提炼转化(把调研信息转化为洞察分析),而这分别对应了访谈前、访谈中和访谈后三个阶段。...在前期沟通时,需要明确以下几个问题:通过访谈想要解决什么业务问题?研究形式是定性还是定量?一对一访谈还是小组访谈?线上访谈还是线下访谈?访谈目标用户和目标数量?...、形式、时间、礼金数额等,询问访谈意愿 问卷中可增加陷阱题(防止用户为了获得访谈红包伪造答案) 问卷中可增加开放题(便于筛选真实且表达意愿高的用户) 2)确定合格且有访谈意愿用户进行联系 预留2-3倍的联系名单...在制定访谈大纲时,一般需要注意以下几点: 问题易理解:避免业务专业术语,转化成用户能听懂的语言; 开放题优先:关注用户的行为和原因,适当进行追问; 保持中立:避免引导性的发问; 行为观察与问题结合:可以让用户在访谈中进行实际操作
这篇 51CTO 对我的访谈是关于找工作过程相关的体会,文章有过整理改动。无论从年纪还是从资历来说,其实我并不能算是一个很有资格的受访者。...[51CTO]:面试中较为偏重的一方面就是询问经历这一环节,您觉得,哪些工作经历或是学习经历可以给面试者的印象 “加分”。...[四火]:首先, 我认为经历不能成为最为偏重的部分,原因很简单,人人都会吹牛,经历容易伪造。如此一来,面试官获得的印象,很大程度上和应聘者的口才有关系。但是,经历一定是面试中的重要组成部分。...我特别反对这样的做法。尤其在小团队中,面试过程一定要有自己团队的人参与,而且这个比重不能太小。...[四火]:这个问题我觉得我没有资格来谈论。 其实,我也曾经参加过类似的培训班,老师很能说,可是我并没有学到什么扎实的东西。
一般来说,死锁产生的原因是因为获取锁的顺序不一致,所以如果有顺序的将锁写入程序内。...就可以解决死锁,但是如果锁是某个方法的入参,那么就会造成动态死锁问题,比如说你设置了两把锁,分别为方法的两个入参a,b,锁的顺序也在方法内实现了,先锁a,再锁b,此时有两个线程A,B,A传入a->x对象...解决方法1:使用hashcode,为了避免对象重写hashcode,使用identityHashCode方法算两个传入对象的hash值,每次先锁的对象都是传进来的对象取identityHashCode方法算出来的值小的...,后锁的都是大的。...(这样可以写出来一个if else),如果出现hash冲突,就再设置一个自己定义的static的锁对象,先用这把static锁锁住保证只有一个线程进入该方法的顺序锁阶段,随后随便设定锁入参a,b即可,因为你保证了只有一个线程操作这个阶段
前段时间,一位朋友问了小林一些问题,类似访谈式的提问,主要是关于写文章之类的事情,我觉得对一些读者会有帮助,所以重新整理了下。...我的写作方向也比较明确,就是写计算机基础类的文章,比如计算机网络、操作系统、计算机组成、数据库、算法等等,而且还会结合大厂爱问的知识点以及工作中的经验。...会定时看以前写的文章么? 说实话,全记住是不可能的,但是至少你有个很深刻的一个影响,如果工作遇到类似的问题,我会翻一番以前的文章。...写过的文章就像在你脑海里建立过了一个索引,遇到问题了,就可以快速去回顾旧文,回顾之后,知识点回想起来会很快的,而不至于一脸茫然。...当然,我的文章给予他们的帮助可以说是微乎其微的,更关键的是他们自身的努力。 ? - ? - ?
还以为jdk的date类有问题,debug date toString发现确实是将Asia/Shanghai的name 简写成CST....这个Date类中是通过记录UTC时间以及偏移量来表示的,不同时区只是显示的结果不同,但可以相互转换。 之所以迷惑是因为时间使用上会分两个阶段。一个是翻译阶段,一个是比较阶段。...比如我传入参数2016-08-12 10:31:20,这个时间并没有指定时区,如果我想要表达的是北京时间,那么对应的就是UTC 2:31:20. 就在这里出问题。...也就是说,我查出的结果并不是UTC时间上10:31之前的数据,而是北京时间10:31之前的数据。即,我查询的 数据,日期标准是按照北京时间来查询的。...因此,如果确定java的driver会自动转换date中的时区。
领取专属 10元无门槛券
手把手带您无忧上云