- 博客(15)
- 资源 (8)
- 收藏
- 关注
原创 解决mysql远程连服务器上的mysql报1130的错
用Navicat for mysql连接数据库测试下连接 如果出现1130错误错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server有些可能说是关掉防火墙就好了,其实根本问题不在于防火墙,单纯的关闭防火墙,是无法给远程连接的用户权限问题。解决办法是:进入MyS
2017-10-21 10:34:44 12593 1
原创 web网站架构演变过程
现在自己做的项目都比较小,今天看了一篇博文,基本停留在第二个阶段,但是博文上基本写上了web架构的各个阶段,先做记录,相信以后对自己会有用。前言--以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。 该系统具备的功能: 用户模块:用户注册和管理商品模块:商品展示和管理交易模块:创建交易和管理阶段一:单服务器构建网
2017-10-20 11:36:00 322
原创 Java中的static关键字
static的含义在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块。Java把内存分为栈内存和堆内存,其中栈内存用来存放一些基本类型的变量、数组和对象的引用,堆内存主要存放一些对象。在JVM加载一个类的时候,若该类存在static修饰的成员变量
2017-10-17 22:06:46 246 2
原创 使用序列化实现对象的拷贝
在Java中存在这个接口Cloneable,实现该接口的类都会具备被拷贝的能力,同时拷贝是在内存中进行,在性能方面比我们直接通过new生成对象来的快,特别是在大对象的生成上,使得性能的提升非常明显。然而拷贝分为深拷贝和浅拷贝之分,但是浅拷贝存在对象属性拷贝不彻底问题。浅拷贝问题代码如下:public class Person implements Cloneable{ /*
2017-10-17 16:20:08 233
原创 Java浅拷贝和深拷贝
对象拷贝(ObjectCopy)就是将一个对象的属性拷贝到另一个有着相同类类型的对象中去。在程序中拷贝对象是很常见的,主要是为了在新的上下文环境中复用对象的部分或全部数据。Java中有三种类型的对象拷贝:浅拷贝(Shallow Copy)、深拷贝(Deep Copy)、延迟拷贝(Lazy Copy)。浅拷贝浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精
2017-10-17 15:15:08 362
原创 Java垃圾收集算法
可回收对象的判定什么样的对象是垃圾(无用对象),需要被回收?现在主要有两种算法用来判定一个对象是否为垃圾。1. 引用计数算法给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。优点是简单,高效,现在的objective-c用的就是这种算法。缺点是很难处理循环引用,比如图中相互
2017-10-16 20:59:51 475
原创 Java的类加载机制
Java类加载机制1.概述 Class文件由类加载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的
2017-10-16 20:55:18 291
原创 Java内存区域的划分
Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域。程序计数器程序计数器可以看做是当前线程所执行的字节码的行号指示器。在JVM的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。由于JVM的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,为了在线程切换后能恢复到正确的执行位置,每条线程都需要有一个独
2017-10-16 09:56:25 303
原创 Spring中IOC用到的反射机制
IOC:即“控制反转”,不是什么技术,而是一种思想。使用IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。本篇文章主要讲解一下IOC底层实现的原理(反射),Bean容器的实现,就不对IOC的概念进行详述了。在Spring的配置文件中,经常看到如下配置: 那么通过这样配置,Spring是怎么帮我们实例化对象,并且放到容器中去了了?对,就是通过反
2017-10-10 22:40:49 1844
原创 Hibernate原理及工作流程
hibernate 简介:hibernate是一个开源框架,它是对象关联关系映射的框架,它对JDBC做了轻量级的封装,使java程序员可以使用面向对象的思想来操纵数据库。hibernate核心接口session:负责被持久化对象CRUD操作sessionFactory:负责初始化hibernate,创建session对象configuration:负责配置并启动hibernat
2017-10-07 10:42:35 15661 3
原创 struts2的原理和工作机制
struts2的基本组成Struts2框架的基本思想是采用MVC设计模式,即将应用设计成模型(Model)、视图(View)和控制器(Control)三个部分; 那么Struts2框架中是如何实现MVC模式的呢?控制部分由DispatchFilter承担,模型部分是由一系列的拦截器(Interceptors)、Action组件和ActionContext组件组成,视图组
2017-10-06 22:08:21 2060
原创 spring加载bean的过程
首先,我在这里举个demo,大致演示一下怎么获取配置文件中的bean:一个applicationContext.xml配置文件,这个不可少;一个bean,这里我没用接口,直接用一个普通的类做为Spring的bean;一个Junit测试类;applicationContext.xml中的代码如下: MyBean类中的代码如下:public c
2017-10-06 20:01:05 14781
原创 SQL查询的基本原理
SQL查询的基本原理单表查询:根据WHERE条件过滤表中的记录,形成中间表(这个中间表对用户是不可见的);然后根据SELECT的选择列选择相应的列进行返回最终结果。两表连接查询:对两表求积(笛卡尔积)并用ON条件和连接连接类型进行过滤形成中间表;然后根据WHERE条件过滤中间表的记录,并根据SELECT指定的列返回查询结果。多表连接查询:先对第一个和第二个表按照两表连接做查询,然后用查
2017-10-04 14:57:26 1070
原创 ThreadLocal的实现原理
概述ThreadLocal类用来提供线程内部的局部变量。这些变量在多线程环境下访问(通过get或set方法访问)时能保证各个线程里的变量相对独立于其他线程内的变量,ThreadLocal实例通常来说都是private static类型。总结:ThreadLocal不是为了解决多线程访问共享变量,而是为每个线程创建一个单独的变量副本,提供了保持对象的方法和避免参数传递的复杂性。Thr
2017-10-03 10:41:10 303
原创 多态
多态的定义:是指允许不同类的对象对同一消息作出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。多态需要用到的技术:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。比如你是一个酒神,对酒情有独钟。某日回家发现桌上有几个杯子里面都装了白酒,从外面看我们是不可能知道这是些什么酒,只有喝了之后才能够猜出来是何种酒
2017-10-02 13:16:35 205
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人