您现在的位置是:网站首页> 新闻快讯> 软件使用 新闻快讯

jdk1 7(jdk17和jdk8)

小玉2023-07-05软件使用 160人已围观

简介昨天下午面试的时候,遇到一个面试官,卧槽,真的太狂了。看我之前的项目有用过jdk1.7,居然来一句这是什么年代的版本。然后又问我springbo

jdk1 7(jdk17和jdk8)

最后更新:2023-07-05 02:11:34

推荐指数

昨天下午面试的时候,遇到一个面试官,卧槽,真的太狂了。看我之前的项目有用过jdk1.7,居然来一句这是什么年代的版本。然后又问我springboot用的什么版本,我说2点多,然后他又来一句,这么老的技术。卧槽,当时我就和他互怼起来了,我问他,你们公司用jdk15吗,他说没有,我们用1.8[捂脸]。反正这种同事,我也不可能打算去。既然他这么不尊重人,那就互相怼吧。最后简单的交流了一些技术问题,给我的感觉是他可能的确有技术,但是有点狂,不太好相处。不过他旁边的另一位小伙倒是挺沉默的,根据我多年的工作经历来看,一般的技术大佬沉默型的多点,而且都很低调,不会那么嚣张。当然有些很嚣张又有技术的人只是少数,在程序员这个行业来说,至少我目前的经历是这样的。Java面试整理的一份详细的资料让你跟面试官有得"撩骚"技术面试中的几个注意点1面试时,你熟悉的问题要和面试官多聊,不要为了回答问题而回答问题2一个问题的沟通时间最好能多聊一会儿,简单问题说3/5分钟,如果问题的规模比较大,10分钟左右也是可以的3回答问题时不要为了凑时间而凑时间,聊的内容一定要和问的问题相关,知识点可以连续的引入4了解的东西多聊,不了解的少说5对于知识可以有一些自己的见解,自己的想法,清晰表述出来,虽然自己的看法有时候不会特别的恰当面试场景的基础面试点集合类是怎么解决高并发中的问题?思路 先说一下那些是非安全         普通的安全的集合类         JUC中高并发的集合类线程非安全的集合类ArrayListLinkedListHashSetTreeSetHashMapTreeMap实际开发中我们自己用这样的集合最多,因为一般我们自己写的业务代码中,不太涉及到多线程共享同一个集合的问题线程安全的集合类VectorHashTable虽然效率没有JUC中的高性能集合高,但是也能够适应大部分环境高性能线程安全的集合类1.ConcurrentHashMap2.ConcurrentHashMap和HashTable的区别3.ConcurrentHashMap线程安全的具体实现方式/底层具体实现4.说说CopyOnWriteArrayListConcurrentHashMap介绍java5.0在juc包中提供了大量支持并发的容器类,采用“锁分段”机制,Concurrentlevel分段级别,默认16,就是有16个段(segment),每个段默认又有16个哈希表(table),每个又有链表连着在JDK1.7的时候,ConcurrentHashMap(分段锁)对整个桶数组进行了分割分段(Segment),每一把锁只锁容器其中一部分数据,多线程访问容器里不同数据段的数据,就不会存在锁竞争。JDK1.8的时候ConcurrentHashMap取消了Segment分段锁,采用CAS和synchronized来保证并发安全。数据结构跟HashMap1.8的结构类似,数组+链表/红黑二叉树。Java8在链表长度超过一定阈值(8)时将链表(寻址时间复杂度为O(N))转换为红黑树(寻址时间复杂度为O(log(N)))synchronized只锁定当前链表或红黑二叉树的首节点,这样只要hash不冲突,就不会产生并发,效率又提升N倍。ConcurrentSkipListMap是线程安全的有序的哈希表(相当于线程安全的TreeMap);它继承于AbstractMap类,并且实现ConcurrentNavigableMap接口。ConcurrentSkipListMap是通过“跳表”来实现的,ConcurrentSkipListSet是线程安全的有序的集合(相当于线程安全的TreeSet);它继承于AbstractSet,并实现了NavigableSet接口。ConcurrentSkipListSet是通过ConcurrentSkipListMap实现的,它也支持并发。CopyOnWriteArraySetaddIfAbsent和CopyOnWriteArrayList(写入并复制)也是juc里面的,它解决了并发修改异常,每当有写入的时候,就在底层重新复制一个新容器写入,最后把新容器的引用地址赋给旧的容器,在别人写入的时候,其他线程读数据,依然是旧容器的线程。这样是开销很大的,所以不适合频繁写入的操作。适合并发迭代操作多的场景。只能保证数据的最终一致性作为一个看完了12集的观众的角度来讲讲《王牌部队》吧。1,剧情内容:我差不多从三四集开始入戏了,搞清楚人物的大概关系。男主顾一野高粱和女主同时入伍参军,他们都有各自的参军理由。顾一野放弃高考,自学军事历史和理论,还有训练,入伍是为了更科学的带领一支强兵。高粱从小是孤儿,哥哥牺牲于战场,不想再继续挖矿,于是来走哥哥的路。女主的爸爸就是这个师的师长,但是她爸爸不知道她的存在,算是要去认爹?后续到十二集为止,剧情还算紧凑,讲了他们刚开始遇到两个师的演习,新兵训练的三个月,以及下了连队的训练。中间穿插着一些情感戏和矛盾点。情感戏是江南征与顾一野互生情愫,高粱也喜欢江南征。矛盾点是顾一野的理想与现实的矛盾,高粱草根跟顾一野子弟的矛盾。2,人物性格:顾一野是有些傲气在身上的,他出生军人家庭,十年前就埋下了当兵的种子,于是他就自学了很多,努力让自己非常的优秀,所以他也是有资格高傲的。他的理想很伟大,要为了建设科学管理军队而奋斗终身。但是当理想和现实发生碰撞的时候,当他发现自己所在的九连比一连差很多的时候,他的傲气化为了野性。以前他只跟自己比,现在他决定要跟一连比,因为只跟自己比在现实中是远远不够的,是有一点坐进观天的意思了。所以顾一野我给他的评价是高傲,有韧性,需要多磨练一下性格,更沉稳一些,以后是一个好的将才。高粱的有点像我们普通人,但不像。他跟我们普通人一样,会想超过大家都认为优秀的人,觉得我努力也肯定能做到。但有的时候起点不一样,我们努力达到的终点,不过是别人的起点。但又不像的是,我们普通人没有主角光环,我们普通人会就这么一辈子普通下去。但有主角光环的高粱,可以凭着各种运气得到首长的偏爱,领导的提拔,最后还能迎娶白富美。所以我给高粱的评价是他个性洒脱,重感情,他后续的发展更多的还是看运气。人物的个人能力还没能很突出的表现出来。3,剧的优秀部分:剧情紧凑,不拖拉。两男主一个负责头脑,一个负责搞笑,这个是很多电影常用的套路,比如囧途系列,唐探系列。看起来有刺激紧张得部分,也有轻松搞笑的部分。顾一野的这条线立意深,格局大,还有一些哲学思想在里面。各个老领导的部分虽然有的观点我不赞同,但他们演得都很好。4,剧的不足的部分:感情戏过多,这是一部军旅剧,我相信观众更愿意看拉练的热血部分,而不是在部队里儿女情长的,可以有,但时长比列不能过大。剧有的地方逻辑是有漏洞的,比如杀错猪。按理说八几年部队农村人更多,高粱和牛满仓也是农村的。他们认不出家猪还是野猪?就算他们认不出,那做饭的能认不出?就这么稀里糊涂给红烧了,不太合理。最后,这部剧整体来说还是值得一看的,期待后面要有更多的拉练的部分,更多的热血的部分,搞事业的部分。还是欢迎大家每晚七点三十到江苏卫视或者爱奇艺观看《王牌部队》#佳木斯头条#佳木斯|关于征集“新官不理旧账”问题线索的公告!为进一步加强能力作风建设,反对形式主义、官僚主义,解决历史遗留问题,督促各级政府及其部门加强法治政府、诚信政府建设,提升政府公信力,构建“亲”“清”新型政商关系,为企业发展营造良好的营商环境,现面向社会公开征集政府及其部门“新官不理旧账”方面问题线索。一、线索征集范围“新官不理旧账”主体为全市各级政府及其组成部门。整治主要内容包括:(一)合同协议不履行。各级政府和部门不履行或延迟履行有效合同,不兑现或延迟兑现以会议纪要、文件等书面形式作出的合法承诺,以及因政府和部门责任导致有效合同不能履行、合法承诺不能兑现损害市场主体合法权益,不依法赔偿、补偿的;或者因政府和部门责任违法违规签订合同、作出承诺,导致合同无效或者被撤销,不返还市场主体因该合同取得的财产、不依法赔偿和补偿市场主体损失等问题。(二)规划、决定不落实。各级政府和部门随意改变依法作出的规划、行政决定,或因国家利益、公共利益或者其他法定事由,政府和部门改变规划、行政决定损害市场主体合法权益,不依法补偿等问题。(三)惠企政策不兑现。各级政府和部门不履行招商引资过程中承诺的优惠条件,不兑现奖励和扶持政策;或者财政资金支持、费用减免等方面政策规定发生调整,政府和部门不按照有利于市场主体的原则执行相关政策规定或者合法承诺等问题。(四)生效法律文书不执行。各级政府和部门、国家公职人员拒不执行法院判决、仲裁裁决等生效法律文书确定义务的问题。(五)账款支付不到位。各级政府和部门拖欠中小企业的货物、工程、服务等款项问题。(六)产权纠纷不解决。各级政府和部门实施征地拆迁、企业搬迁未依法给予补偿,以及与市场主体存在经营权、股权、知识产权等产权纠纷问题。(七)其他影响企业发展的历史遗留问题。二、提供线索注意事项1.提供“新官不理旧账”问题案件线索必须具署实名,材料应加盖企业公章,尽量详尽,并提供相关佐证材料。2.“新官不理旧账”问题的相对方主要为企业、企业家、项目投资主体。3.《“新官不理旧账”问题线索表》请认真填写完整,其它相关材料可作为附件一并函送。4.为保障征集工作有序开展,只接受电子邮件途径的问题线索。三、线索征集时间2022年10月26日-11月2日四、线索征集方式受理电子邮箱:jmsjdk123@163.com。欢迎广大企业和企业家积极提供“新官不理旧账”问题线索。对征集的问题线索我们将认真核查、及时协调督促相关方面依法办理,切实保障提供者的合法权利。特此公告。附件:佳木斯市“新官不理旧账”问题线索表。佳木斯市营商环境建设监督局2022年10月26日来源:市委宣传部、佳木斯日报附件:坐标广州,近日,广州某外企请我帮招Java前端大数据程序员,月薪6万到8万。网友:外企真有钱啊!由于岗位要求高,来了100人,水平都很一般,全部给淘汰了!今天的面试流程:1.做个自我介绍2.问hdfs的配置有哪些3.什么是zk,zk节点属性有哪些4.redis的数据类型是哪些,redis过期时间是怎么存储的,key设置了过期时间,然后修改,过期时间还有吗?5.redis怎么保持高可用的,横向怎么扩展(slot槽位)6.垃圾回收算法有哪些,垃圾回收器有哪些每个垃圾回收器的特点是什么,g1,cms怎么运行的,java8默认垃圾回收器7.spark的运行流程,有哪些算子,map,platMap的特点8.案例,一堆数据,数据是用户和分数,40-50的算D,50-60的算C,60-70的算B,60-70的算A,最后求出各个A,B,C,D各等级的分数9.jdk8hashMap的实现,为啥要用红黑树#广州头条##羊城身边事##程序员#百度金融初面面试题一自我介绍详细介绍下自己熟悉的项目;之前做过的项目有啥值得改进的地方?自己有啥优势。Java中的LinkedList是单向链表还是双向链表?Java中的TreeMap是采用什么树实现的?写一段代码在遍历ArrayList时移除一个元素?Java中,编写多线程程序的时候你会遵循哪些最佳实践?这是我在写Java并发程序的时候遵循的一些最佳实践:a)给线程命名,这样可以帮助调试。b)最小化同步的范围,而不是将整个方法同步,只对关键部分做同步。c)如果可以,更偏向于使用volatile而不是synchronized。d)使用更高层次的并发工具,而不是使用wait()和notify()来实现线程间通信,如BlockingQueue,CountDownLatch及Semeaphore。e)优先使用并发集合,而不是对集合进行同步。并发集合提供更好的可扩展性。用Java写一个线程安全的单例模式解)public enum Singleton{  INSTANCE;    public void show(){     System.out.println("SingletonusingEnuminJava");   }}Singleton.INSTANCE.show();Java中应该使用什么数据类型来代表价格?解)如果不是特别关心内存和性能的话,使用BigDecimal,否则使用预定义精度的double类型。我们能将int强制转换为byte类型的变量吗?如果该值大于byte类型的范围,将会出现什么现象?解)是的,我们可以做强制转换,但是Java中int是32位的,而byte是8位的,所以,如果强制转化是,int类型的高24位将会被丢弃,byte类型的范围是从-128到128。zookeeper能做什么解)Zookeeper实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能zookeeper保证了如下分布式一致性特性:1、顺序一致性2、原子性3、单一视图4、可靠性5、实时性(最终一致性)ZAB协议?解)ZAB协议是为分布式协调服务Zookeeper专门设计的一种支持崩溃恢复的原子广播协议。ZAB协议包括两种基本的模式:崩溃恢复和消息广播。当整个zookeeper集群刚刚启动或者Leader服务器宕机、重启或者网络故障导致不存在过半的服务器与Leader服务器保持正常通信时,所有进程(服务器)进入崩溃恢复模式,首先选举产生新的Leader服务器,然后集群中Follower服务器开始与新的Leader服务器进行数据同步,当集群中超过半数机器与该Leader服务器完成数据同步之后,退出恢复模式进入消息广播模式,Leader服务器开始接收客户端的事务请求生成事物提案来进行事务请求处理。zookeeper那四种数据类型节点1、PERSISTENT-持久节点除非手动删除,否则节点一直存在于Zookeeper上2、EPHEMERAL-临时节点临时节点的生命周期与客户端会话绑定,一旦客户端会话失效(客户端与zookeeper连接断开不一定会话失效),那么这个客户端创建的所有临时节点都会被移除。3、PERSISTENT_SEQUENTIAL-持久顺序节点基本特性同持久节点,只是增加了顺序属性,节点名后边会追加一个由父节点维护的自增整型数字。4、EPHEMERAL_SEQUENTIAL-临时顺序节点基本特性同临时节点,增加了顺序属性,节点名后边会追加一个由父节点维护的自增整型数字。Dubbo如何优雅停机?Dubbo是通过JDK的ShutdownHook来完成优雅停机的,所以如果使用kill-9PID等强制关闭指令,是不会执行优雅停机的,只有通过killPID时,才会执行。Dubbo和SpringCloud的区别?1服务注册中心区别2调用方式3服务网关4熔断策略5分布式配置6服务跟踪7消息总线数据流批量任务等当我们开发一个接口时需要注意些什么作为一个Web应用开发人员,平时工作中最多的工作场景就是开发接口给前端调用或者关联系统调用。接口写了这么多,不知道大家有没有总结过在开发一个接口时需要注意哪些细节。下面列出我自己的一些总结,每次写接口时都用这些注意点“扫描”下自己的接口,你的接口质量将会上升一个台阶。1、能完成正常的业务功能这个点应该不用多说了,我们的接口就是为了完成业务功能的,这个是必须要的。但如果你的接口仅仅考虑了正常的流程,一旦发生任何异常就运行不起来了,那么你的接口不是一个合格的接口。如果所有用户请求都符合接口预期、所有网络调用都不会超时、所有系统都不会down机,所有系统都能承载大并发的流量,那么程序员的工作量将减轻一大半。“程序员大部分时间都在解决异常”,这句话我想你一定听过。其实下面才是本文的重点,怎么让自己的接口有更高的健壮性、更高的性能以及更高的扩展性,这是我们开发接口中不容忽视的地方。2、异常处理在你这个接口涉及的每个环节,你都要考虑到会不会发生异常。如果异常发生了,你要怎么处理?你的数据要不要回滚?Service是不是已经开启了事物?事务的隔离级别是否正确?你的代码有没有全局异常处理机制?3、异常流程处理正常的流程处理起来很简单,但是你一定要想到流程中断以后再进入,你的接口是否支持。比如用户忽然退出了页面,用户突然断网了,流程的每个环境都有可能出现问题。你要考虑到每个环节点出现问题要怎么处理,代码是否有容错性,是在系统不好解决的可以通知运营人员,哪怕进行人工解决,也是一种办法。4、接口参数检查机制很多系统异常都是因为用户传的参数不对导致格式化错误、空指针错误等。所以我们要将错误扼杀在源头,对用户传过来的参数做严格的检查,在controller层做参数校验。这个可以结合Spring的Validate机制。5、打印准确合理的日志这边打日志的原则是不打多余的日志,打印的日志能让自己看清系统的运行状态,出问题是能迅速定位问题。6、接口权限配置你的接口哪些角色的用户可以访问,用户不登陆是否可以访问。7、数据权限问题如果你的接口是一个查询接口,你就不应该查出当前用户没有权限访问的数据。8、接口性能优化使用缓存;数据库加索引;尽量不要在循环中调用数据库;尽量不要多张表关联查询;考虑使用异步线程;提升系统配置(穷途末路的方法)提升接口性能的方法有很多,这边只是举了几个通用的例子。结合你具体的业务场景,有时调整下业务的执行流程也能大大提升用户体验。比如银行开户的流程可以分为授信和签约两步,其中授信是比较耗时的操作,那我们可以考虑在用户提交身份证材料时触发授信操作,用户提交完材料,授信操作可能已经完成了。9、接口幂等性考虑下你的接口是否要保持幂等10、接口自测的问题很多开发人员都不会想测试场景来测试自己的接口。我自己觉得我们想的测试场景要够全,甚至要比测试还多。我的建议是在开发环境一定要自己自测一下,自己想各种测试场景,造各种数据进行测试,同时将自己造的数据保存下来,方便后续用到。11、一些其他细节如果是更新操作,是不是需要加乐观锁更新;如果涉及到分布式系统要考虑数据一致性问题。扩展性优化,你的代码是否有很好的扩展性。开发环境改了代码,一定要到测试环境测试一下。(因为测试环境和开发环境可能有很大的区别,比如jdk版本,代码不一定能跑起来)中国平安面试题自我介绍,项目经验为啥离职等原因1.介绍一下Collection集合ListArrayList,LinkedList,SetHashSet,treeSet,TreeSet基于什么实现介绍一下Map集合,每个区别HashMap(),HashTable,treeMap,linkendHashMap,linkedHashTableEnumMap2.线程的实现方式:(面试官问了三个,目的是想听第三个)1、继承Thread类实现多线程2.实现Runnable接口方式实现多线程3.使用ExecutorService、Callable、Future实现有返回结果的多线程问的特别细3.线程启动是用哪个?start和run的区别?线程启动start,run是复写线程具体实现的步骤4.Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition问的特别细让某个线程等待,应该怎么执行,如何唤醒,如何唤醒所有的,线程怎么实现生产者和消费者5.什么是线程池,介绍一下ThreaLocal6.怎么给线程加锁?synchronizedlock接口ReentrantLock,怎么写,怎么实现,应该注意哪些,问得特别细节7.java多线程怎么预测执行的结果?8如何写代码来解决生产者消费者问题(线程中的)9.java中的弱引用和强引用,需引用10.Java中的ConcurrentHashMap12.Java中你怎样唤醒一个阻塞的线程13.注解,怎么自定义一个注解,@Retention具体有哪些@Target具体有哪些,@Inherited注解实现的原理,注解都可以获取到哪些,包括访问权限,参数类型,方法签名等很多14.Spring框架,SpringAop15.Hibernate,Hibernate的一级缓存,二级缓存16.有2个类,怎么用SpringAop去实现以下,多这两个类中的方法,添加一些属性SpringAop实现的原理,会涉及到JDK代理,和Spring代理,SpringBean的实现原理(反射,得讲详细点)怎么用Aop实现针对不同的类中的一些方法,执行特定的代码,[定义一个注解,然后加在要执行的类的某个方法上面,然后再利用SpringAop切面反射去执行]17.HiberNate的三种状态(持久,瞬时,游离),相互转换18.Hibernate的load和get方法19.Hibernate的SqlSession,Session这些等,懒加载等20.设计模式具体怎么写,口述,具体描述:单例模式的几种写法策略模式适配器模式工厂模式构建者模式观察者模式代理模式(jdk代理,还会问到静态代理,以及Spring的代理等)22.java面向对象的重构和重载23.js闭包,js匿名类,js的实现继承的写法24.vue.js会让你详细讲一下webpack打包的,nodeJs,vue好React的区别,详细描述25.jvm内存结构模型,堆和栈,不是简单的那种描述,而是要描述堆长什么样子,栈长什么样子,画图等26怎么实现分库分表大数据查询27.怎么定义包,具体描述代码,怎么定义package的输入和返回值,java调用packag的时候如何接收返回的package,具体描述,Oracle中的function28.Jdbc链接数据库的具体过程29.线上vue项目如何发布解决30.项目采用分层结构31.动态数据源切换,SpringJdbc,mybatis提问33.目前会的一些框架等,详细描述一下在项目中怎么用34.事务的隔离机制35.jdbcsql?从几开始,最后取值从几开始ThreadLocal的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度Snejejejerjekrjekcjehfbejdjddjrjcjfjfelfjcjdkdj睿智任丘7A1每天不断充实⾃⼰,才会摆脱烦恼的困扰

很赞哦! (0)

文章评论

来说两句吧...

验证码: