如果要问Java面试频次最高的题目,那么我想应该是HashMap相关了. 提到HahMap,必然会问到是否线程安全?然后牵扯出ConcurrentHashMap等,接着提及1.7和1.8实现上的区分,是怎么解决线程安全的. 涉及并发,并发下的一些问题,原子性,可见性,有序性又必然提及.从而引出一系列相关的名词,比如CAS,synchronized,线程池等. 最常见的高频题又有,线程池的工作原理,比如核心线程数,最大线程数,队列他们的关系是怎么样的,CAS常见的问题有哪些,ABA的问题怎么解决等…
如果面试官问你:你了解 Java 内存模型吗? 你就可以使用这张图,按照这张图中的顺序和面试官开聊,正常情况下,聊一个小时是差不多的,这个时候,对你的处境是非常有益的,因为面试官的时间不多了.…
js url传值中文乱码完美解决(JAVA) 首先在你的jsp页面这样更改: var url="你要传入的Action的位置&ipid="+ipid+"&keyWord="+key; 这里的key是中文,从input中取到值后,使用alert(key)发现中文没有乱码. 那么我们可以对url进行一下处理:url=encodeURI(encodeURI(url));; 如果你以为这样就能解决乱码那你就错了,这时我们需要去我们url对应的接收参数的jav…
ecshop 完美解决动态ip登录超时和购物车清空问题 ECSHOP模板/ecshop开发中心(www.68ecshop.com) / 2014-05-06 前一段时间,ECSHOP开发中心的一个客户说自己的ecshop网店出了状况,就是有时候登录的时候会自动退出.而且购物车也没规律的会清空.刚开始一直找不到原因,到最后才知道了.他说的状况是由于像学校,公司一类的局域网.ip变化的原因造成的.ecshop存登录和购物车信息的时候用的是session,所以用cookie能够解决这个问题. 1.购物…
方案背景: 公司办公网络使用长城宽带上网有一段时间了,有4个固定IP(2个电信,2个网通),链路不太稳定,经常有问题,因此考虑取消长城宽带,采用原来的adsl上网.但是有个问题,因为公司内网有几台服务器,需要通过固定IP接受外网用户发送的数据,因此如果没有公网IP,而ADSL获取的IP会变化,那么内网服务器接受外面用户的数据就会受到影响,通过采用openvpn很好的解决了这个问题.这个前提是你在机房的服务器有固定IP.   应用场景 公司在托管机房有公网IP,在公司内部采用ADSL上网,又需要接…
这篇文章来自http://www.cnblogs.com/jicheng1014   不好意思,那些rss 站太生猛了. 先吐槽一下百度地图的开发者,其实这个问题我绝对不是第一个遇到的人 很多人把这个问题提交到了百度Map贴吧,没有人回复, 我记得我几个月前也通过微薄向@百度地图API 反映过这个问题  当时他回复了下去看看,之后就没下文了. ok,描述下症状 当将自定义的Marker(含有Label)通过MarkerClusterer 管理的时候,当地图发生任何移动.缩放 的时候,Marker…
背景 之前相关的博文中介绍了如果在Web网页端展示CAD图形(唯杰地图云端图纸管理平台 https://vjmap.com/app/cloud),有不少朋友问,能不能实现一个协同的功能,实现不同部门不同专业间"一张图协同",解决目前Web端CAD查看图纸更新不及时不同步的痛点! 需求分析 需求举例如下:如下图所示,图纸四属于一张图,此图由不同部门的图形组合而成[图纸一(图层1).图纸一(图层3).图纸二(图层2).图纸三(图层3)], 当图纸一.图纸二.图纸三有更新时,图形四应及时更新…
一张图解决ThreadLocal 一.前言 年底梳理知识体系时,研究了一下ThreadLocal的源码,整理了一张核心图. 想着,都走到这一步了,那就写一篇深度解读的文章吧.看过我之前文章的小伙伴都知道,我写博客,就喜欢写点别人没写的.要么就写个结构比别人好的.什么都不行,那就别写了.自己留着看就好了. 然后发现了ThreadLocal源码解读与ThreadLocal可能引起的内存泄露这样的优秀文章(两篇文章合起来,就更完整了),它把我要说的,差不多都说了. 所以,我就决定从精简(一张图)与认知…
前言 学习路线图往往是学习一样技术的入门指南.网上搜到的Java学习路线图也是一抓一大把. 今天我只选一张图,仅此一图,足以包罗Java后端技术的知识点.所谓不求最好,但求最全,学习Java后端的同学完全可以参考这张图进行学习路线安排. 当然,有一些知识点是可选的,并不是说上面有的你都要会啦.我在复习秋招的过程中就是基于此图进行复习的,感觉效果还是不错的. 闲言少叙,我们还是看看这张图上都包含哪些有价值的信息吧.再次说明,本文只对路线图做一个简单地解读,仅供参考.大家可以根据自身情况来指定合理的…
背景: 最近在修改项目的时候,发现修改了项目依赖以后会出现如下图:Maven Java EE Configuration Problem 的问题,对于有强迫症的我来说,看到项目上面有个很小的红色小叉号感觉很是不爽,于是寻找解决办法. 解决步骤如下: 1.更新maven项目依赖 2.勾选出现错误的项目,并点击OK按钮 到此为止,错误已经被完美解决...…
一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选.如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟. 1.字符串不变性 下面这张图展示了这段代码做了什么 1 2 String s = "abcd"; s = s.concat("ef"); 2.equals()方法.hashCode()方法的区别 HashCode被设计用来提高性能.equals()方法与hashCode()方法的区别在于: 如果两个对象相等(eq…
转载: 三张图彻底了解Java中字符串的不变性 定义一个字符串 String s = "abcd"; s中保存了string对象的引用.下面的箭头可以理解为"存储他的引用". 使用变量来赋值变量 String s2 = s; s2保存了相同的引用值,因为他们代表同一个对象. 字符串连接 s = s.concat("ef"); s中保存的是一个重新创建出来的string对象的引用. 总结 一旦一个string对象在内存(堆)中被创建出来,他就无法被…
一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选.如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟. 1.字符串不变性 下面这张图展示了这段代码做了什么 1 2 String s = "abcd"; s = s.concat("ef"); 2.equals()方法.hashCode()方法的区别 HashCode被设计用来提高性能.equals()方法与hashCode()方法的区别在于: 如果两个对象相等(eq…
http://www.importnew.com/11725.html 1.字符串的不变性. 下面这张图展示了这段代码做了什么 String s = "abcd"; s = s.concat("ef"); 2.equals()方法.hashCode()方法的区别 HashCode被设计用来提高性能.equals()方法与hashCode()方法的区别在于: 如果两个对象相等(equal),那么他们一定有相同的哈希值.如果两个对象的哈希值相同,但他们未必相等(equa…
1.带着疑问看图 1)竞争对象的锁和竞争CPU资源以及竞争被唤醒 2)何种情况下获取到了锁,何种情况下会释放锁 2.还是那张图 3.详细图解 1)Thread t = new Thread(),初始化一个线程,实际上就是一个普通对象,此时他的状态为New 2)t.start(); 线程处于就绪状态(可运行状态),也就是随时等待着运行, 不要小看这个start,这个start决定了他是否是一个真正的线程实例,因为start为其准备了线程环境,你若只是普通调用run方法,那么这就是 一个普通的方法.…
两张图解读Java异常与断言                                 --转载请注明出处:coder-pig 本节引言: 前天公布的"七张图解析Java多线程"大家的反响不错,嗯呢,今天再来两张吧, 关于Java异常与断言的,涉及到的东西有: ①什么是异常,为什么会出现异常,异常处理机制模型,常见异常信息总结,检验异常与非检验异常; 异常的捕获:try-catch块,finally块,多重catch块,try-catch块的嵌套; 异常的声明:throws回避异…
一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选.如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟. 1.字符串不变性 下面这张图展示了这段代码做了什么 1 2 String s = "abcd"; s = s.concat("ef"); 2.equals()方法.hashCode()方法的区别 HashCode被设计用来提高性能.equals()方法与hashCode()方法的区别在于: 如果两个对象相等(eq…
一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选.如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟. 1.字符串不变性 下面这张图展示了这段代码做了什么 String s = "abcd"; s = s.concat("ef"); 2.equals()方法.hashCode()方法的区别 HashCode被设计用来提高性能.equals()方法与hashCode()方法的区别在于: 如果两个对象相等(equal)…
[原创]java 获取十个工作日之后的日期(算当天)-完美解决-费元星(仅考虑星期六星期天) /** * * 根据开始日期 ,需要的工作日天数 ,计算工作截止日期,并返回截止日期 * @param startDate 开始日期 * @param workDay 工作日天数(周一到周五) * @author [狒狒:Q97175234] * @time 2015-11-23 上午9:21:25 * * @motto 既然笨到家,就要努力到家... * */ public static Date g…
由于业务需要对python文件进行参数传递,通过下面两个java方法完美解决此问题,我的思路是:首先我要先把上次写的参数删除,第二我要新的参数写到python文件中. 第一个方法解决了删除上次传递的参数问题. 第二个方法解决了参数传递到python文件 /** * @param file python文件的路径 * @return * @throws IOException */ private List<String> readAndRemoveFirstLines(File file) t…
文章每周持续更新,各位的「三连」是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 今天来带大家研究一下Linux内存管理.对于精通 CURD 的业务同学,内存管理好像离我们很远,但这个知识点虽然冷门(估计很多人学完根本就没机会用上)但绝对是基础中的基础,这就像武侠中的内功修炼,学完之后看不到立竿见影的效果,但对你日后的开发工作是大有裨益的,因为你站的更高了. 文中所有示例图都是我亲手画的,画图比码字还费时间,但是看图理解比文字更直观,需要高清示例图…
写在前面 最近,在看Spring源码,看到Spring解决循环依赖问题的源码时,不得不说,源码写的太烂了.像Spring这种顶级的项目源码,竟然存在着这种xxx的代码.看了几次都有点头大,相信很多小伙伴都会跟我有一样的感受.怎么办呢?还是踏下心来,慢慢啃源码.最终,我将Spring如何解决循环依赖的源码总结成下面的流程图,这样,根据流程图读源码就清晰多了!! 图解Spring循环依赖 Spring解决循环依赖问题的源码写的确实挺烂的,就是一顿 if + else 的嵌套操作.暂时还是不给小伙伴们…
完美解决JavaIO流报错 java.io.FileNotFoundException: F:\ (系统找不到指定的路径.) 错误原因 读出文件的路径需要有被拷贝的文件名,否则无法解析地址 源代码(用于拷贝) package com.javase.IO.Stream; import org.junit.Test; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import…
"Mysql如何解决幻读问题" 一个工作了4年小伙伴,去一个美团面试,遇到了这样一个问题. 大家好,我是Mic,一个工作了14年的Java程序员 关于这个问题,面试官想考察什么?我们应该如何回答呢? 问题解析 这个问题至少考察的是3年以上开发经验的同学. Mysql底层去解决并发事务问题,至少是要有一定的技术积累才能真正理解. 而如果作为一个刚工作没多久的程序员,必须要知道数据库的事务隔离级别的问题. 因为不同的隔离级别对于数据的安全性影响是不同的. 也就是存在脏读.幻读.不可重复读等…
声明:有人说, 有些面试题很变态,个人认为其实是因为我们基础不扎实或者没有深入.本篇文章来自一位很资深的前辈对于最近java面试题目所做的总结归纳,有170道题目 ,知识面很广 ,而且这位前辈对于每个题都自己测试给出了答案 ,如果你对某个题有疑问或者不明白,可以电脑端登录把题目复制下来然后发表评论,大家一起探讨,也可以电脑端登录后关注我给我发私信,我们一起进步! 以下内容来自这位前辈 2013年年底的时候,我看到了网上流传的一个叫做<Java面试题大全>的东西,认真的阅读了以后发现里面的很多题…
JAVA面试精选[Java基础第一部分] 这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童鞋们来说,当你看到这份题目的时候,你应该感动很幸运,因为,只要你把题目中的内容都搞懂了,在笔试的时候就可以游刃有余,通过面试只有半步之遥了,笔试只能反映你的JAVA技能.不管你是面试各个级别的JAVA工程师.架构师.还是项目经理,这个系列文章都是你最宝贵的资…
java面试笔试题大汇总5 JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象:2.继承:3.封装:4. 多态性: 2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型的,因此不可以继承这个类.不能修改这个类.为了提高效率节省空间,我们应该用StringBuffer类 3.int 和 Integer 有什么区别 Java 提供两种不同的类型…
PS:整理的稍微有点急,不足之处,望各路道友指正,List相关可以查看前一篇随笔! HashMap的工作原理是近年来常见的Java面试题,几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深,关于HashMap的相关题目经常出现在java各层次(低级.中级.中高级或高级)面试中,甚至有些公司会要求你实现HashMap来考察你的编程能力.ConcurrentHashMap…
相关概念 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象. 多态的好处 允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用).主要有以下优点: 可替换性:多态对已存在代码具有可替换性. 可扩充性:增加新的子类不影响已经存在的类结构. 接口性:多态是超累通过方法签名,想子类提供一个公共接口,由子类来完善或者重写它来实现的. 灵活性: 简化性: 代码中如何实现多态 实现多态主要有以下三种方式: 1. 接口实现…
http://www.cnblogs.com/nelson-hu/p/7190163.html Java面试宝典-2017   Java面试宝典2017版 一. Java基础部分...................................................................................................... 7 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?..... 7 2.Jav…