- 博客(15)
- 收藏
- 关注
转载 详谈java内存模型
我们一起来讨论讨论java内存模型。理解内存模型对多线程编程无疑是有好处的。java代码是如何跑起来的java代码如何运行我们写的java代码,自己看得懂,然而虚拟机是看不懂的,更不用说直接在机器上跑起来了。要让java代码按照我们的意图跑起来的话,需要以下几个过程。代码转化过程java代码会经过javac编译器编译,转化成class文件,也就是常说的字节码。然后再经过jv...
2018-07-29 20:28:40 186
转载 Spring依赖注入和控制反转的理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一、分享Iteye的开涛对Ioc的精彩讲解 首先要分享的是Iteye的开涛这位技术牛人对Spr...
2018-07-27 20:36:41 11962 3
转载 Spring依赖注入和控制反转讲解
Spring是一个庞大的框架,封装了很多成熟的功能,能够让我们无需重复造轮子;其次,它使用IOC进行依赖管理,利用JAVA的反射机制,将实例的初始化交给Spring,Spring可以通过配置文件管理实例,我们就不用自己初始化实例啦。有人会问 “那我们可以直接使用工厂模式呀。工厂模式也可以管理实例的初始化呀,为什么一定要使用Spring呢?” 这是因为IOC是通过反射机制来实现的。当我们的需求出...
2018-07-27 20:02:21 194
转载 Spring依赖注入和控制反转
Spring 能有效地组织J2EE应用各层的对象。不管是控制层的Action对象,还是业务层的Service对象,还是持久层的DAO对象,都可在Spring的 管理下有机地协调、运行。Spring将各层的对象以松耦合的方式组织在一起,Action对象无须关心Service对象的具体实现,Service对 象无须关心持久层对象的具体实现,各层对象的调用完全面向接口。当系统需要重构时,代码的改写量将大...
2018-07-27 19:58:29 194
原创 内存泄漏和内存溢出的区别和联系
1、内存泄漏memory leak :是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。 2、内存溢出 out of memory :指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出。 3、二者的...
2018-07-25 18:56:50 187
原创 购物车系统
购物车系统增、删、改、查添加购物车业务逻辑:在购物车系统创建一个拦截器,来判断当前用户有没有登录,不管登录不登录,都要能够使用购物车。这里的拦截并不是用来拦截请求,而是判断用户有没有登录,并把登录用户信息存入request中。拦截器:1. 从Cookie中取token2. 如果没有取到token,未登录状态,直接放行3. 如果取到token,需要调用sso系统的服务,根...
2018-07-14 11:42:17 2641 3
原创 单点登录系统知识点总结
单点登录系统单点登录要解决的核心问题是:一站点登录,多站点可以同时访问。 单点登录业务流程1. 登录页面,用户登录2. 判断用户名和密码是否正确3. 登录成功后通过uuid生成token,token相当于原来的jsessionid。4. 把用户信息保存到redis中,key就是token,value就是用户对象转成的json。5. 设置key的过期时间,模拟sessio...
2018-07-14 11:35:42 771
原创 宜立方商城架构总结
宜立方商城架构分布式+SOA 什么是分布式? 将一个完整的系统按照功能点拆成若干个相互独立的子系统,每一个子系统可称之为一个节点,每一个节点都可以单独配置多台服务器(集群),各个子系统之间相互进行通信,进行协调合作,共同完成整个系统的业务流程,这就是分布式。 什么是集群? 多台服务器做同一件事,这就是集群。 为什么要使用分布式?答:一个最简单的web项目,它的架构可能就是表...
2018-07-13 17:18:55 5860 1
原创 线程知识点总结(2)
多用户并发访问是网站的基本需求,大型网站的并发用户数会达到数万,单台服务器的并发用户也会达到数百。CGI编程时代,每个用户请求都会创建一个独立的系统进程去处理。由于线程比进程更轻量,更少占有系统资源,切换代价更小,所以目前主要的Web应用服务器都采用多线程的方式响应并发用户请求,因此网站开发天然就是多线程编程。从资源利用角度看,使用多线程的原因主要有两个:IO阻塞与多CPU。当前线程进行...
2018-07-13 17:15:56 479
原创 Servlet和Jsp知识点总结
Servlet和Jsp知识点总结1. 什么是servlet?答:简单来讲,servlet是开发动态网页的一种技术。【详细版】HTML只能用来保存静态内容,而通常情况下,静态页面很难满足实际应用的需要,鉴于此,动态页面被引入。所谓动态页面,指的是能够根据不同时间,不同用户而显示不同内容的页面,例如常见的论坛、留言板、电子商务网站等都是通过动态页面来实现的。那么如何才能生成动态页面呢?其中一种是采用公...
2018-07-13 17:09:13 652
原创 Spring知识点总结(2)
Spring知识点总结1. 简介一下Spring框架。答:Spring框架是一个开源的容器性质的轻量级框架。主要有三大特点:容器、IOC(控制反转)、AOP(面向切面编程)。 2. Spring框架有哪些优点?谈谈你的看法。答:Spring框架主要有三大优点:(1) 容器。Spring框架是一个容器,能够管理项目中的所有对象。(2) IOC(控制反转)。Spring将创...
2018-07-12 22:30:25 218
原创 springMVC知识点总结(2)
springMVC知识点总结谈一下你对MVC开发模式的理解MVC(Model,View,Controller)是一种web应用程序的开发模式,即Servlet+JSP+JavaBean模式。Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP、Java...
2018-07-12 22:18:38 617
原创 mybatis知识点总结(2)
mybatis面试知识点总结1. 解释一下mybatis中命名空间(namespace)的作用。答:在大型项目中,可能存在大量的SQL语句,这时候为每个SQL语句起一个唯一的标识(ID)就变得并不容易了。为了解决这个问题,在MyBatis中,可以为每个映射文件起一个唯一的命名空间,这样定义在这个映射文件中的每个SQL语句就成了定义在这个命名空间中的一个ID。只要我们能够保证每个命名空间中这个ID是...
2018-07-12 21:28:26 796
原创 JDBC知识点总结
JDBC知识点总结1.什么是JDBC?JDBC: Java Database Connectivity java数据库连接,即使用java代码发送sql语句的技术,为多种关系型数据库提供统一访问。 2.简述JDBC连接数据库的步骤。加载驱动 创建连接 执行sql并返回执行结果 处理结果 关闭资源//1.加载驱动Class.forName("com.mysql.jdbc.Driver")...
2018-07-12 18:33:22 5847 1
原创 集合知识点总结
集合知识点总结1. 数组有没有length()方法呢?字符串有没有length()方法呢?集合有没有length()方法呢?答:数组没有length()方法,有length属性;字符串有length()方法;集合没有length()方法,有size()方法。 2. 简述一下List集合的子类特点答:ArrayList: 底层数据结构是数组,查询快,增删慢。 线程不安全,效率高。 Vector...
2018-07-12 12:03:22 3969
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人