java
苏北走的有点慢
理论落地,不做增删改查程序员。
展开
-
java三大版本
java三大版本的区别: 首先了解计算机语言的发展历史,总的来说是为了让人类使用起来越来越方便 第一代:机器语言(由0和1组成) 第二代:汇编语言(用英文单词代替数字,构成了汇编语言的基础) 第三代:高级语言:面向过程、面向对象(c,fortran,cobol,pascal,java,c#) java为什么能流行? --互联网的爆发式发展 --互联网上的电脑硬件不同,软件环境原创 2017-01-11 14:35:40 · 260 阅读 · 0 评论 -
Java中4种常用的排序算法和2种常用的查找算法
四种常用排序算法 ##注:从小到大排 ##冒泡排序##特点:效率低,实现简单思想:每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素。这只是冒泡排序的一种,当然也可以从后往前排。 public void bubbleSort(int array[]) { int t = 0; for (int i = 0; i < array.leng...转载 2019-05-01 13:26:17 · 332 阅读 · 0 评论 -
高并发问题——抢红包案例分析(一)
学习了大佬的博客,跑了下demo,但是失败了。 MVC那里也不知道为啥拦截不到我的请求,大佬原文地址 https://blog.csdn.net/yangshangwei/article/details/82975845。 1.问题描述: 模拟 20 万元的红包,共分为 2 万个可抢的小红包,有 3 万人同时抢夺的场景 ,模拟出现超发和如何保证数据一致性的问题。 案例关注点: 数据一致...转载 2019-05-06 16:15:47 · 4098 阅读 · 0 评论 -
接口和抽象类有什么区别
接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么? 接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。 抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。 人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它. 所以,在高级语言上...转载 2019-05-13 21:15:22 · 178 阅读 · 0 评论 -
Java设计模式知识点——工厂模式
先理解一下为什么要使用工厂模式: 工厂模式是我们最常用的实例化对象模式 工厂模式实际上包含了3中设计模式,简单工厂,工厂和抽象工厂,关键点如下: 一、三种工厂的实现是越来越复杂的 二、简单工厂通过构造时传入的标识来生产产品,不同产品都在同一个工厂中生产,这种判断会随着产品的增加而增加,给扩展和维护带来麻烦 三、工厂模式无法解决产品族和产品等级结构的问题 四、抽象工厂模式中,一个工...原创 2019-04-30 15:46:02 · 188 阅读 · 0 评论 -
ThreadLocal使用场景以及和Synchronized的区别
ThreadLocal的优点: 线程安全的,思路通过分配空间到达换取时间,Synchronized是通过锁机制,让别的线程等待,是通过时间换取空间的思路; ThreadLocal的缺点: ThreadLocal是会造成内存溢出的 ThreadLocal里面使用了一个存在弱引用的map,不过弱引用只是针对key。每个key都弱引用指向threadlocal。 当把threadlocal实...原创 2019-04-30 10:48:48 · 1074 阅读 · 0 评论 -
Java设计模式知识点——单例模式
简介 单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。 许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。 基本的实现思路 单例模式要求类能够有...转载 2019-04-29 13:07:50 · 122 阅读 · 0 评论 -
Spring面试+工作必会知识点——AOP
还是关注面试的问题,上一些重要的题。 1.描述一下Spring AOP? Spring AOP(面向切面编程)是OOPs(面向对象编程)的补充,它也提供了模块化。在面向对象编程中,关键的单元是对象,AOP的关键单元是切面,或者说关注点(可以简单地理解为你程序中的独立模块)。一些切面可能有集中的代码,但是有些可能被分散或者混杂在一起,例如日志或者事务。这些分散的切面被称为横切关注点。一个横切关注...原创 2019-04-23 16:46:38 · 149 阅读 · 0 评论 -
Spring面试+工作必会知识点——Spring和bean的关系
问题: 1.Spring对Bean做了什么? 定义:所有可以被spring容器实例化并管理的java类都可以称为bean。 下图非常好 1.bean配置有三种方法: 基于xml配置Bean 使用注解定义Bean 基于java类提供Bean定义信息 2.Bean注入的方式有两种: 一种是在XML中配置,此时分别有属性注入、构造函数注入和工厂方法注入; 另一种则是使用注解的方式注...原创 2019-04-23 16:10:52 · 173 阅读 · 0 评论 -
JVM知识点——内存溢出和内存泄漏
面试苏宁时,问的,内存溢出怎么处理? 处理思路:先救火,再防火。 首先dump JVM的内存信息,这个信息用于后续的问题分析。如果重启了服务,JVM也会重启,这个信息就会丢失,所以务必先备份JVM的内存信息!!! 总的来说,是通过jmap命令来备份JVM的内存信息,同时,需要我们了解进程的pid。 1、获取进程的pid: ps -e | grep "NAME" 其中,NA...原创 2019-04-27 16:59:42 · 240 阅读 · 0 评论 -
Spring面试+工作必会知识点——IoC
学习三要素:是什么?为什么?怎么做? 1.是什么?为什么? 传统的控制正转:各个底层代码通过之间的关系相互依赖,控制正转的情况下,底层控制上层,从而会导致牵一发而动全身,代码维护工作量超级大; 反转:通过依赖注入,下层的依赖注入到上层,从而实现上层控制下层代码。 2.怎么做? 依赖注入的方式(自己搜一搜项目里用到哪些) 1.Setter: 实现特定属性的pubilc setter方法,...原创 2019-04-22 21:09:35 · 115 阅读 · 0 评论 -
数据库知识点——四种连接的区别
前几天去苏宁面试,有一道笔试题,写明两张表联合查询关于这些连接的区别。 1.inner join(内连接),在两张表进行连接查询时,只保留两张表中完全匹配的结果集。 2.left join,在两张表进行连接查询时,会返回左表所有的行,即使在右表中没有匹配的记录。 3.right join,在两张表进行连接查询时,会返回右表所有的行,即使在左表中没有匹配的记录。 4.full j...原创 2019-04-26 15:21:44 · 1035 阅读 · 0 评论 -
Spring面试+工作必会知识点——事务管理
为什么要用到事务管理? 这里可以回答一下事物的特性(ACID) 1.原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用; 2.一致性: 执行事务前后,数据保持一致; 3.隔离性: 并发访问数据库时,一个用户的事物不被其他事物所干扰,各并发事务之间数据库是独立的; 4.持久性: 一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不...原创 2019-04-26 14:57:46 · 216 阅读 · 0 评论 -
自定义注解的实现
1.为什么要使用自定义注解? 使用Annotation之前(甚至在使用之后),XML被广泛的应用于描述元数据。 假如你想为应用设置很多的常量或参数,这种情况下,XML是一个很好的选择,因为它不会同特定的代码相连。如果你想把某个方法声明为服务,那么使用Annotation会更好一些,因为这种情况下需要注解和方法紧密耦合起来。 Spring为我们提供了面向切面编程的思想,我们就可以自己使用自定义...转载 2019-05-16 10:56:38 · 471 阅读 · 0 评论