JAVA必会知识点汇总
文章平均质量分 62
ms
happydecai
java高级工程师
展开
-
【cookie】cookie是什么,如何使用cookie?
cookie是什么,如何使用cookie? Cookie是保存在客户端的纯文本文件。比如txt文件。所谓的客户端就是我们自己的本地电脑。当我们使用自己的电脑通过浏览器进行访问网页的时候,服务器就会生成一个证书并返回给我的浏览器并写入我们的本地电脑。这个证书就是cookie。一般来说cookie都是服务器端写入客户端的纯文本文件。下面我们来看一下一般网站写给我们的cookie 文件如下: 2 Cookie 文件必须由浏览器的支持,在浏览器中可以设置阻止cookie。这样服务器端.原创 2021-02-24 15:14:45 · 3087 阅读 · 1 评论 -
【单点登录】java实现完全跨域SSO单点登录
java实现SSO什么是SSOSSO(Single Sign On)单点登录是实现多个系统之间统一登录的验证系统,简单来说就是:有A,B,C三个系统,在A处登录过后,再访问B系统,B系统就已经处于了登录状态,C系统也是一样。举个生活中栗子:你同时打开天猫和淘宝,都进入login界面,都要求你登录的,现在你在淘宝处登录后,直接在天猫处刷新,你会发现,你已经登录了,而且就是你在淘宝上登录的用户。说明他们实现了SSO,并且持有相同的信息。当然这个特性意味着它的使用场景是:同一公司下的不同子系统,因为对原创 2021-02-24 14:56:26 · 256 阅读 · 0 评论 -
【webstorm】gitee提交报错31mlncorrect username or password( access token )
解决方式注意:修改为gitee的【网站的】用户名和登录密码(就是登录页面的登录名密码),不是git提交显示的用户名原创 2021-02-22 12:25:19 · 710 阅读 · 0 评论 -
【jwt】使用JWT实现Token认证
为什么使用JWT?随着技术的发展,分布式web应用的普及,通过session管理用户登录状态成本越来越高,因此慢慢发展成为token的方式做登录身份校验,然后通过token去取redis中的缓存的用户信息,随着之后jwt的出现,校验方式更加简单便捷化,无需通过redis缓存,而是直接根据token取出保存的用户信息,以及对token可用性校验,单点登录更为简单。这里还有一个在线的的JWT生成器什么时候你应该用JSON Web Tokens下列场景中使用JSON Web Token是...原创 2021-02-19 17:00:55 · 382 阅读 · 0 评论 -
【swagger】Swagger使用手册
认识Swagger:Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。作用:1. 接口的文档在线自动生成。2. 功能测试。Swagger使用的注解及其说明:@Api:用在类上,说明该类的作用。@ApiOperation:注解来给API增加方法说明。@ApiImplicitParams .原创 2021-02-18 15:36:41 · 336 阅读 · 0 评论 -
【日志乱码】Linux下自启动中文乱码,用start up.sh不乱码
所谓自启动,是指经过Linux配置,可以通过service Tomcat start 来启动Tomcat,并且可以通过log4j按照一定的策略输出日志文件。原创 2021-02-05 10:07:54 · 243 阅读 · 0 评论 -
【Slf4j中占位符{}】关于Slf4j中占位符{}
日志输出中{}很好用(具体可参看:https://blog.csdn.net/Dongguabai/article/details/83719754):{}的确使用很方便,但是大多数博客文章说使用{}会性能更好,到底怎么样可以从源码中看看(其实可以大致猜测一下,哪怕代码玩出花来,也要找到每个{}的位置进行替换吧)。测试代码:org.slf4j.helpers.MessageFormatter#arrayFormat(java.lang.String, java.lang.Object[]原创 2020-11-28 11:00:51 · 1269 阅读 · 2 评论 -
开发常用命令及文件备忘录-202012
1,【定时任务配置文件】setTime-config.xml说明:没新增一个定时任务,配置3处即可。可以参考sird。2,【OLTP配置文件】generatorConfig.xml说明:要先打开tools对应的项目才可以哦!原创 2020-10-31 14:40:11 · 226 阅读 · 0 评论 -
【天天看、时时查、不断更新】当下主流公司java要求!
总结一下:jvm优化、java基础、数据结构与算法、多线程和高并发、ssm(不要认为他过时了,99%都要)、springboot、dubbo,redis和memcached、消息队列mq(rabbitmq,kafka),maven;原创 2020-08-12 16:01:48 · 211 阅读 · 0 评论 -
【转】2020年java面试题汇总
最开始是打算面试外包公司刷经验,等经验差不多了,再去甲方尝试,可惜不太顺利。一、迈思(面试了30分钟)1.自我介绍2.左连接(a表左连接b表,a表全部数据出来,b表没有的数据为空)3.a表左连接b表,b表左连接c表,c表左连接a表,这样的数据是什么数据(博主当时有点懵,回答全连接,全部数据会出来。。。)4.sql:一个班的学生有两个字段,一个字段叫分数,另外一个字段叫组名,有4个组,查出每个组的第一名,sql怎么写select group_name,max(score) from t原创 2020-08-06 16:14:20 · 535 阅读 · 0 评论 -
【必须掌握】必须掌握的知识点
必须掌握的知识点,否则就不要去面试丢人了1、阅读源码阅读、分析源码是程序员最基本的码代码能力也是码农的根本所在,学习经典源码中所用到的经典设计思想及常用设计模式,能够帮你了解大牛是如何写代码的,从而吸收大牛的代码功力。在阿里面试中,MyBatis,Spring等框架的底层原理是经常会被问到的2、分布式架构阿里巴巴有很多大团队,这种大团队里有很多小团队,到小团队之后,做的业务都不相同,如果想立足成为一线互联网公司中的万能选手,最主流的分布式架构中有很多知识都是必须要去了解与学习的。并且在阿原创 2020-07-17 14:47:12 · 293 阅读 · 0 评论 -
【重点面试题】我需要重点突破的面试知识点1
1,【线程】线程与进程的区别?进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。一个程序有一个或多个进程,一个进程有一个或多个线程。原创 2020-07-17 10:03:53 · 143 阅读 · 0 评论 -
【maven】 Maven常见面试题
一、Maven有哪些优点和缺点优点如下:简化了项目依赖管理:易于上手,对于新手可能一个"mvn clean package"命令就可能满足他的工作便于与持续集成工具(jenkins)整合便于项目升级,无论是项目本身升级还是项目使用的依赖升级。有助于多模块项目的开发,一个模块开发好后,发布到仓库,依赖该模块时可以直接从仓库更新,而不用自己去编译。maven有很多插件,便于功能扩展,比如生产站点,自动...原创 2018-05-29 09:51:35 · 11532 阅读 · 3 评论 -
微服务架构的基础框架选择:Spring Cloud还是Dubbo?
最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论 微服务架构 。近期也看到各大技术社区开始组织一些沙龙和论坛来分享Spring Cloud的相关实施经验,这对于最近正在整理Spring Cloud相关套件内容与实例应用的我而言,还是有不少激励的。目前,Spring Cloud在国内的知名度并不高,在前阵子的求职过程中,与一些互联网公司的架构师、技术VP或者CTO在交流时,...转载 2018-03-29 15:38:50 · 164 阅读 · 0 评论 -
Spring Cloud介绍
分布式系统, 微服务, Java, 当这三个词放到一起的时候, 很多人自然而然地就会想起Spring Cloud. Spring Cloud是Spring总多的Project中的一个,它提供了一整套的工具帮助系统架构师们在进行分布式设计的时候可以拿来即用, 在创建和发布微服务时极为便捷和有效.基本信息本系列介绍所使用的spring cloud的Release为Camden SR3。 虽然各个版本可...转载 2018-03-29 17:28:56 · 135 阅读 · 0 评论 -
Redis和Memcached的区别
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。...原创 2018-04-16 16:19:48 · 171 阅读 · 0 评论 -
图解JAVA中Spring Aop作用
假如没有aop,在做日志处理的时候,我们会在每个方法中添加日志处理,比如但大多数的日子处理代码是相同的,为了实现代码复用,我们可能把日志处理抽离成一个新的方法。但是这样我们仍然必须手动插入这些方法。但这样两个方法就是强耦合的,假如此时我们不需要这个功能了,或者想换成其他功能,那么就必须一个个修改。通过动态代理,可以在指定位置执行对应流程。这样就可以将一些横向的功能抽离出来形成一个独立的模块,然后在...转载 2018-03-20 11:28:56 · 1173 阅读 · 1 评论 -
Spring 框架的设计理念与设计模式分析
转载地址:https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/ Spring 作为现在最优秀的框架之一,已被广泛的使用,并且有很多对其分析的文章。本文将从另外一个视角试图剖析出 Spring 框架的作者设计 Spring 框架的骨骼架构的设计理念,有那几个核心组件?为什么需要这些组件?它们又是如何结合在一起构成 Sp...转载 2018-03-28 12:33:43 · 190 阅读 · 0 评论 -
sql查询效率优化
1.关于SQL查询效率,100w数据,查询只要1秒,与您分享:机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试,比较两种查询的性能SQL查询效率 step by step-- setp 1.-- 建表create table t_userinfo(useri转载 2017-01-05 13:03:28 · 395 阅读 · 0 评论 -
MySQL中四种常用存储引擎的介绍
MySQL常用的四种引擎的介绍(1):MyISAM存储引擎:不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表支持3种不同的存储格式,分别是:静态表;动态表;压缩表静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的,优点存储非常迅速,容易缓存,出现故障容易恢复;缺点是占用的空间通常比动态表多转载 2018-04-08 14:57:55 · 160 阅读 · 0 评论 -
sql -- drop,truncate与delete的区别
注意:这里说的delete是指不带where子句的delete语句 相同点 truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为in...原创 2018-04-10 16:08:17 · 140 阅读 · 0 评论 -
八道 经典的 MYSQL 面试题目(有答案)
***答案统一在 最下面哦***(1)表名:购物信息购物人 商品名称 数量A 甲 2B 乙 4C 丙 1A 丁 2B 丙 5……(其他用户实验的记录大家可自行插入)给出所有购入商品为两种或两种以上的购物人记录(2)表名:成绩表姓名 课程 分数张三 语文 81张三 数学 75李四 语文 56李四 数学 90王五 语文 81王五 数学 100王五 英语 49…...原创 2018-04-16 17:00:21 · 2178 阅读 · 0 评论 -
面试必备:常用的设计模式总结
单例模式 简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。getInstance()的返回值是一个对象的引用,并不是一个新的实例,所以不要错误的理解成多个对象。单例模式实现起来也很容易,直接看demo吧public class Singleton { private ...转载 2018-03-28 11:56:26 · 4214 阅读 · 3 评论 -
亲历JAVA面试题备份
33.XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?32.简述一下面向对象的”六原则一法则“。31.有什么方法可以提高系统的稳定性?如何应对高并发?30.经常更新的数据树,如何使用缓存?使用缓存有什么副作用?副作用:不断的序列化和反序列化时候会有很大的开销。如何使用索引:如果数据库层面的更新速度是一天更新一次,那么,浏览器上的缓存可以设置为一个小时更新一次。因为如果不...原创 2018-03-20 10:29:56 · 379 阅读 · 0 评论 -
Mybatis常见面试题18题
1、#{}和${}的区别是什么?答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver。#{}是sql的参数占位符,Mybatis会将sql中的#{}替换为?号,在sql执行前会使用PreparedStatement的参数设置方法,按序给sql的?号占位符设置参数值,比如...转载 2018-04-02 15:45:36 · 341 阅读 · 0 评论 -
redis面试总结
(1)什么是redis? Redis 是一个基于内存的高性能key-value数据库。 (有空再补充,有理解错误或不足欢迎指正)(2)Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写...转载 2018-04-02 16:18:40 · 159 阅读 · 0 评论 -
面试准备专题——高并发高性能网站设计
#高并发应对方案架构方面分层对系统架构的分层,分为展示层,业务层,服务层,数据层等,可以使得分工明确,实现解耦,便于管理按业务种类分层,可以实现服务化,解耦。分布式(即模块服务化)不同的功能模块以服务的方式在不同服务器上提供,可以分解单台服务器的负担集群在分布式的基础上,对访问频率高的模块再进行集群部署,通过负载均衡协同对外提供服务,可以分解高并发量模块对服务器的压力前端DNS实现同一个域名转发到...转载 2018-04-02 16:24:34 · 216 阅读 · 0 评论 -
Java面试准备之 事务
这里只是为了记录,由于自身水平实在不怎么样,难免错误百出,有错的地方还望大家多多指出,谢谢。参考[疯狂Java]JDBC:事务管理、中间点、批量更新事务的理论级概念关闭自动提交功能来开启事务中间点JDBC对事务的支持事务配合批量更新1. 事务的理论级概念(1)事务具有ACID的特性:Atomicity:原子性Consistency:一致性Isolation:隔离性Durability:持续性Ato...原创 2018-04-02 16:54:48 · 1926 阅读 · 0 评论 -
SpringMVC工作原理
SpringMVC的工作原理图:SpringMVC流程1、 用户发送请求至前端控制器DispatcherServlet。2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4、 Dispa...转载 2018-04-02 17:13:49 · 153 阅读 · 0 评论 -
2018常见java面试题
第一站: 1. 多个线程同时读写,读线程的数量远远⼤于写线程,你认为应该如何解决 并发的问题?你会选择加什么样的锁?2. JAVA的AQS是否了解,它是⼲嘛的?3. 除了synchronized关键字之外,你是怎么来保障线程安全的?4. 什么时候需要加volatile关键字?它能保证线程安全吗?5. 线程池内的线程如果全部忙,提交⼀个新的任务,会发⽣什么?队列全部 塞满了之后,还是忙,再提交会发⽣...转载 2018-04-10 10:40:22 · 5255 阅读 · 2 评论 -
Linux常用命令汇总
我自己常用的linux命令汇总-------linux命令汇总开始-------rm -rf /usr/shangfenqi/apache-tomcat-7.0.88/webapps/ROOTjar -xvf ROOT.warrm -rf /usr/portal_for_bi/bak/ROOTrm -rf /usr/portal_for_bi/apache-tomcat-7.0.88...原创 2018-04-11 14:37:59 · 165 阅读 · 0 评论 -
Java就业指导
Java就业指导 想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊的东西,你可以把这些内容写到你的简历中,当然更需要的是你在面试的时候向面试官展示这些专业技能。相信此文对正在寻觅Java程序员(Java工程师)职位的freshman以及希望成为中高级Java开发者的j...转载 2018-04-13 11:41:32 · 232 阅读 · 0 评论 -
Java面试题全集(上:java基础95题)
1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:- 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。- 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也...转载 2018-03-21 11:32:52 · 593 阅读 · 0 评论 -
Java面试题全集(中:web30题)
这部分主要是与Java Web和Web Service相关的面试题。96、阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。补充:Sun Microsystems公司...转载 2018-03-27 16:28:44 · 551 阅读 · 0 评论 -
Java面试题全集(下:框架45题)
这部分主要是开源Java EE框架方面的内容,包括hibernate、MyBatis、spring、Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题,如果需要了解相关内容,可以参考我的另一篇文章《Java面试题集(86-115)》。此外,这篇文章还对企业应用架构、大型网站架构和应用服务器优化等内容进行了简单的探讨,这些内容相信对面试会很有帮助。12...转载 2018-03-21 11:35:34 · 317 阅读 · 0 评论