自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

四海的学习笔记

曾经的理想是做个程序员,那时以为程序就是计算机的全部。现在依然喜欢程序,但是开始明白,程序并不是计算机的全部,好的程序员要经历漫长的修炼,就像是武林高手修炼内功比招式更重要。我要做的是程序员,不是coder。 请记住:你比他好一点,他不会承

  • 博客(40)
  • 收藏
  • 关注

原创 静态方法中threadlocal处理session中存储的值

“想用静态方法得到session中保存的用户信息,用到了ThreadLocal,有点疑问解决思路”: 关键词:想用 静态 方法 得到 session 中 保存 用户 信息 用 到了 threadlocal 有点 疑问 解决 思路 想用静态方法得到session中保存的用户信息,用到了threadlocal,有点疑问? 我是这样做的。每个用户登录站点都有一个session ,我把用户权限信息保...

2018-03-21 15:30:56 2083

原创 linux学习之tomcat热部署

修改tomcat-users.xmlvim tomcat/conf/tomcat-users.xml在文件中加入节点中加入<role rolename="manager-gui" /> <role rolename="manager-script" /> <user username="tomcat" password="tomcat" roles="manager-gui, manager

2018-02-20 01:05:24 886

原创 linux学习之安装jdk

解压缩jdk文件tar -zxvf jdk.tar.gz设置环境变量vim /etc/profile在文件末尾加上//需要修改为jdk存放路径export JAVA_HOME=/home/sihai/soft/jdk7export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexpor

2018-02-20 00:54:36 161

原创 linux系统学习之静态IP

centOS7:进入网络配置文件夹下cd /etc/sysconfig/network-scripts/修改一个类似ifcfg-*的文件,我的是ifcfg-ens33,根据电脑情况会不同//有人电脑中没有这个文件,可能是虚拟机安装时,选错版本。比如centos7的iso文件,安装虚拟机时选//择centos6来安装,此时就重新装系统吧vim ifcfg-ens33修...

2018-02-20 00:42:12 214

原创 AJAX技术和Jquery的AJAX请求

AJAX概述,Asynchronous JavaScript + XML使用AJAX可以通过HTTP协议向服务器请求数据,做到在不重新加载整个网页的情况下,对网页的某部分进行更新Ajax 技术核心是 XMLHttpRequest 对象,提供了向服务器发送请求和解析服务器响应的接口XHR对象XHR可以通过HTTP协议与服务器交换数据open方法,open方法用于创建HTTP请求,但是请求并

2017-11-17 20:31:32 411

原创 js操作表单

获取表单formdocument.表单名称document.getElementById(表单 id)document.forms[表单名称]document.forms[索引]; //从 0 开始获取表单内input元素通过id 获取:document.getElementById(元素 id)通过form.名称形式获取: myform.元素名称通过name 获取 :documen

2017-11-17 15:42:19 183

原创 DOM文档对象模型

DOM文档对象模型概述 document object modeldom 提供了用程序动态控制 html 接口DOM 描绘了一个层次化的节点树,运行开发人员添加、移除和修改页面的某一部分节点 加载 HTML 页面时, Web 浏览器生成一个树型结构,用来表示页面内部结构。DOM 将这种树型结构理解为由节点组成,组成一个节点树节点种类:在 HTML DOM (文档对象模型)中,每个部分都

2017-11-17 00:01:57 147

原创 JavaScript的BOM对象

事件事件作用验证用户输入的数据增加页面的动感效果事件与元素的绑定行内事件: 耦合度高 在标签内写上事件代码 <input type="button" name="btn1" id="btn2" value=" 点 我 2" onclick ="test();"/>DOM0级事件处理 在script标签内将事件连上元素<input type="button" name="btn1

2017-11-16 23:38:41 147

原创 JavaScript基础

JavaScript概念一种具有面向对象能力的、解释型的程序设计语言基于对象和事件驱劢并具有相对安全性的客户端脚本语言主要目的是,验证发往服务器端的数据、增加 Web 互劢、加强用户体验度等组成 ECMAscript:语法标准DOM:文档对象模型,描述了处理网页内容的方法和接口BOM:浏览器对象模型,描述了与浏览器进行交互的方法和接口基本语法注释 单行注释:用//起头多行注释

2017-11-16 23:08:57 164

原创 CSS了解

CSS概念层叠样式表(Cascade Style Sheets)是一种用来表现 HTML(标准通用标记语言的一个应用)或 XML(标准通用标记语言的一个子集)等文件样式的计算机语言能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统 HTML 的表现而言,CSS 能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进

2017-11-16 21:41:25 300

原创 SpringMVC了解

MVC之视图概念mvc是以设计界面应用程序为基础的的设计思想,通过分离模型 视图和控制器在应用程序中的角色,将业务逻辑从界面中解耦。 模型负责封装应用程序数据在视图层展示。 视图仅仅展示这些数据,不包括任何业务逻辑 控制器负责接收来自用户的请求,调用后台服务来处理这些业务逻辑,并收集这些数据以及准备模型在视图层展示。常见框架: 运行性能从上到下。。。开发效率正好基本相反。 Jsp+

2017-11-16 21:16:29 348

原创 mybatis了解

Mybatis概述一个基于java的持久层框架,包括SQL Maps和Data Access Object(DAO) 支持普通SQL查询,存储过程和高级映射。 使用简单的XML或者注解用于配置和原始映射,将接口和java的POJOS ( Plain Old Java Object)映射成数据库中的记录。 简化jdbc操作,简化持久层,sql语句从代码分离,利用反射将表中数据与javabe

2017-11-16 21:06:32 245

原创 网站的技术框架演变

网站的技术框架演变所有的问题都有它对治的方法,对于复杂问题的对治方法就是将其分解成多个简单的问题,通过解决每个简单问题,最终解决复杂问题。网站架构的主要问题是速度问题,整个演变主要围绕大数据和高并发两个问题展开,解决主要分为使用缓存和使用多资源两种。多资源主要指多存储 多CPU和多网络,对于多资源又分为单个资源处理一个完整请求和多个资源合作处理一个请求两种类型。多存储和多CPU中的集群和分布式,多网

2017-11-16 21:02:31 191

原创 Java注解

注解概述就是 Java 提供了一种元程序中的元素,关联任何信息和任何元数据(metadata)的途径和方法Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的 Annotion 对象,然后通过 Annotion 对象来获取注解里面的元数据元数据元数据:描述数据的结构信息被用来生成其它的文件,或在运行时获取运行代码的描述信息 作用:生成文档跟踪代码依赖性,实现替代配置

2017-11-16 20:31:41 119

原创 Java反射

反射概念 定义:程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义理解:在程序运行期,动态加载类文件,并能探知类的基本结构,能够创建类的对象,访问属性和方法等反射的优缺点 优点: 运行期类型的判断动态类加载,所以使用反射能,工厂模式 动态代理 sping等框架反射提高了程序的灵活性和拓展性,降低耦合性,提高自适

2017-11-15 23:17:03 116

原创 网络编程概述

网络概念网络即将不同区域的电脑连接到一起, 组成局域网、城域网或广域网。把分布在 不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络 系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资 源。功能资源共享信息传输与集中处理均衡负荷与分布处理网络通信协议 计算机网络中实现通信必须有一些约定即通信协议,对速率、传输代码、代码结构、传

2017-11-14 23:23:18 207

原创 输入输出流IO

File表示一个与硬盘上的文件联系 File表示一个联系,文件可能存在,也可能不存在 File有可能是一个文件,也有可能是一个文件夹输入输出流IO流 数据在内存和数据源间流动,包括硬盘文件 数据库和网络等操作的数据单元 字节流操作8位字符流操作16位节点流和处理流 从一个特定的I/O设备读取数据的流,为节点流将一个已存在的节点流进行连接,或则封装,为处理流,使用装饰器设计模式节

2017-11-14 22:38:41 184

原创 集合Set

set概述 不允许重复元素的集合迭代无序,尤其不保证该顺序不变允许null值方法完全是实现Collection的方法set的几个实现,可按照hashmap学习和理解HashSet概述 底层包含一个HashMap,即底层也是数组加链表实现值存放在HashMap的key上,所以才不允许重复的值;HashMap的Value值,是一个固定的Object类线程不安全,迭代器快速失败Li

2017-11-14 17:45:53 174

原创 容器Map和HashMap底层原理分析

map 接口概述 保存key-value的键值对,允许key和value为null值key值不允许重复不推荐将可变对象 自定义对象作为key使用map自身不能作为key,但可以作为value,也不推荐这么做内部实现 内部包含Entry接口key和value保存在entry中方法 clear():清空isEmpty():空判断containsKey():包含key判断cont

2017-11-12 18:18:27 915

原创 集合List和ArrayList等实现类的底层原理分析

List概述 继承Collection和Iterable接口有序的允许重复的集合,允许null值,允许将自身作为元素(不推荐)此接口和实现子类可以对列表中的每个元素的插入位置进行精确控制。可以根据索引访问元素,也可以搜索列表中的元素。有iterator迭代器可单向遍历,同时有ListIterator双向遍历方法 继承Collection的方法 方法一般都会多出用索引的重载方法get

2017-11-11 12:26:45 649

原创 容器

容器数组:相同类型的有序集合,可以在其中放对象或者基本数据类型 好处:是一种简单的线性序列,可以快速访问数组元素,效率高。从效率和类型检查的角度讲,数组最好 坏处:容量需要事先确定,不能根据需求的变化扩容分类 容器中的元素都为引用类型,不能放置原生数据类型(但是因为自动装箱,会把原生数据类型变成包装类) collection容器 set:不允许重复,使用自己的内部排列机制,重新排序li

2017-11-10 16:30:04 165

原创 【转载】类的加载和对象创建过程分析

相信我们在面试Java的时候总会有一些公司要做笔试题目的,而Java类的加载和对象创建流程的知识点也是常见的题目之一。接下来通过实例详细的分析一下实例代码Parent类 1 package mytest.javaBase; 2 3 public class Parent { 4 int a = 10; 5 static int b = 11; 6 // 静态代码块

2017-11-10 14:53:50 173

原创 java常用类

字符串相关类string和stringbuffer以及stringbuilderstring是不可变序列,stringbuffer和stringbuilder是可变序列底层全部以char数组实现 strng的底层数组有final修饰,不可变;stringbuffer和stringbuilder底层是可变的字符数组空构造默认的是长度为16的字符数组当长度不够时会自动扩容,为原长度2倍加2;

2017-11-09 23:56:29 141

原创 for循环的优化

优化提取与循环无关的表达式 初始化值 将int i =0中的int i提取到循环外结束条件 将i”<”arr.length提取到循环外i”<”len循环体 将循环体中不涉及循环变量的计算表达式提取到循环外x =i+a*b改成x=i+c;消除异常捕获 循环中不要出现try。。catch语句,有的话提取到循环外嵌套循环 将循环次数少的循环放到外围

2017-11-09 16:33:28 280

原创 数组排序

选择排序直接选择排序 选定索引位置,依次和后面的元素比较,若大于则交换位置第一轮选出最小值,然后是次小指。。。n-1轮,第一次n-1次,最后1次堆排序交换排序冒泡排序 从头到尾依次比较相邻两个元素的大小关系,若大于则交换位置第一轮得出最大值,然后是次大值n-1轮,第一轮n-1次快速排序插入排序直接插入排序二分法插入排序shell排序归并排序

2017-11-09 16:19:02 130

原创 异常

异常错误 在程序运行期间发生了某种错误,Error会导致程序结束运行,一般是系统级别问题,无法针对处理,只能修正代码异常 程序在编译 运行期间出现了某种异常,会导致程序结束运行,一般可以对异常进行处理异常执行顺序 不管有木有出现异常,finally块中代码都会执行;当try和catch中有return时,finally仍然会执行;finally是在return后面的表达式运算后执行的

2017-11-09 14:29:19 161

原创 代理模式

代理模式为其他对象提供一种代理以控制对这个对象的访问.组成 抽象角色:声明真是角色实现的业务方法真实角色:实现抽象角色,,定义真实角色所要实现的业务逻辑,供代理角色调用代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑放大来实现抽象方法,并可以附加自己的操作

2017-11-09 11:35:50 126

原创 工厂模式

工厂模式创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑。简单工厂模式 工厂创建特定对象工厂方法模式 工厂向上抽象成工厂抽象类,用于创建某一类对象不同工厂子类实现特定功能,创建不同对象抽象工厂模式 工厂抽象类再向上抽象成超级工厂类,用于创建不同类的对象超级工厂创建某一类的工厂对象工厂创建具体对象

2017-11-09 11:29:44 106

原创 接口 匿名对象 内部类

接口概念 比抽象类更抽象的类只描述所应具备的方法,并没有实现将功能定义与实现实现分离,优化了程序设计接口是功能的集合接口的方法都是public abstract方法接口的成员变量都是public final static变量类 实现 接口,使用implements关键字子类必须重写父类接口所有的方法,否则只能抽象类接口不能实例化接口:多继承 ,即接口可以继承多个接口接口子类

2017-11-09 09:34:03 288

原创 封装 继承和多态

封装概念 把对象的属性和行为结合为一个独立的整体,并尽可能隐藏对象的内部实现细节好处 提高代码的复用性和安全性设计原则把不想外界知道的实现细节隐藏起来,向外提供公共的访问方法javabean一个对象实例的封装类必须为public class必须有一个无参构造器所有的属性必须private修饰进行封装为属性提供公共的setter和gettet方法继承概念在一个现有类的基础上构建一

2017-11-06 23:41:52 139

原创 访问权限和封装

访问权限概念 用来限定其他对象对该类对象成员的访问权限,通过控制权限达到隐藏信息高内聚:内部数据操作细节自己完成低耦合:仅暴露少量方法给外部使用 特点: public:任何地方都可以访问protected:子类访问权限default(不写):一个包中可以访问private:只有类内部使用修饰符总体类:public default final成员变量:4个权限修饰符 fi

2017-11-06 17:41:14 223

原创 对象创建和构造器

对象创建new关键字 需要有相应构造器 根据class类在堆中为对象分配空间调用相应的构造器来初始化对象将在堆中分配的空间地址的传递给在栈中的引用反射 利用Class类的newInstance方法,创建对象。底层调用无参构造器,所以需要确保有无参构造器反序列化 将已经序列化的对象,反序列化到内存中创建对象需要实现Serializable接口克隆 克隆一个已存在的对象原对象

2017-11-06 15:27:18 379

原创 类的概念

面向对象面向过程关注点在过程,用过程中的一个个方法完成功能。面向对象设计出发点:更能直接描述问题域中,客观存在的事务基本思想: 从现实世界中客观存在的事物出发来构造软件系统,并在系统的构造中尽可能运用人类自然思维方式理解: 属性和方法从属于对象按照对象组织代码,更符合对现实问题的抽象有利于代码的封装,复用,扩展和维护类和对象对象:是用计算机语言对问题域中事物的描述。 类: 描述同一

2017-11-06 14:42:31 301

原创 jave基础-变量 运算符和语句结构

java编码规范见名知意代码适当缩进书写过程成对编程对代码合理注释命名标识符命名 字符(中英文皆可) 数字 $ 和 _ 不能是数字开头,不能是关键字,区分大小写 包名:小写 类或接口:大驼峰规则 变量和方法:小驼峰规则 常量:全部大写变量和常量## 常量 ##在程序运行期间,其值不会改变字面值常量字符 字符串整数 小数 布尔常量空常量自定义常量## 变量 #

2017-11-04 02:46:04 203

原创 简单了解spring中用到的代理模式

静态代理:1、代理对象和目标对象都要实现的   公共接口2、代理对象持有目标对象引用,重写构造方法,3、实现共同的方法,代理对象增强行为。缺点:代理角色固定,一次只能代理一个对象。接口public interface Marry { void marry();}目标对象public class You implements

2017-11-01 20:49:19 7049 2

原创 javamail简单了解

javamail概述javamail是一套收发电子邮件的API,不同的厂商可以提供自己的实现类。厂商提供的javamail程序可以有选择实现某些邮件协议。除javamail服务程序外,还需要JAF(Javabean Activation Framework)来处理不是纯文本的邮件内容,包括MIME,URL页面和文件附件等内容。邮件协议SMTP协议Simple Mai

2017-10-31 11:27:56 143

原创 spring的AOP

Aop面向切面编程    aspect oriented programingaop关注的不再是程序代码中的某个类,某些方法,考虑更多的是一种面到面的切入,即层与层之间的一种切入。用处:aop主要用于日志记录,性能统计,安全控制,事务处理等方面,实现公共功能性的重复使用。好处:1. 降低模块与模块之间的耦合度,提高业务代码的聚合度。2. 提高代码的复用性。3.

2017-10-31 10:15:28 200

原创 spring 的Ioc和DI

控制反转 inversion of control: javabean以前由开发人员用代码管理维护,现在对象的实例化和销毁等全部由spring容器管理,实现控制的反转。这是一种编程思想,就是说一些非核心的代码由框架自动实现管理,开发人员专注于业务逻辑。依赖注入 dependency of injection : 对象内部需要用到其他javabean对象时,使用注入的方式引入

2017-10-30 23:24:23 133

原创 简单模拟 spring的bean容器的实现

思路 :1.定义beanFactory  接口  2.  beanFactoryFactory的实现定义javabeanpublic class Hello { public void hello(){ System.out.println("hello spring"); }}写配置文件<beans xmlns="http://www.

2017-10-30 16:33:31 330

原创 mvc框架和spring概述

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-10-30 14:19:10 412

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除