- 博客(79)
- 收藏
- 关注
转载 Java本地方法详解
http://blog.sina.com.cn/s/blog_5b9b4abe01016zw0.htmlhttps://blog.youkuaiyun.com/lansine2005/article/details/5753741前言:JAVA中有两种方法:JAVA方法和本地方法JAVA方法是由JAVA编写的,编译成字节码,存储在class文件中本地方法是由其它语言编写的,编译成和处理器相...
2019-01-15 11:24:46
322
转载 Java多线程-------生产者消费者(转载)
我们这里的生产者和消费者模型为: 生产者Producer 生产某个对象(共享资源),放在缓冲池中,然后消费者从缓冲池中取出这个对象。也就是生产者生产一个,消费者取出一个。这样进行循环。 第一步:我们先创建共享资源的类 Person,它有两个方法,一个生产对象,一个消费对象 1 2 3 4 5 6 7 8 ...
2019-01-13 16:00:56
293
原创 数据库面试必备
一.事物1.事物是并发控制的基本单位。所谓的事物,是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。事物是数据库维护数据一致性的基本单位,在每个事物结束时,都能保持数据一致性。2.事物的四个特性(ACID)原子性(Atomicity):事物中的所有元素作为一个整体提交和回滚,事物是一个完整操作一致性(Consistemcy):事物的执行使得数据库从一种正...
2018-09-30 12:36:17
361
原创 SpringMVC的工作流程
SpringMVC的图解:文字描述:1.用户发送请求到前端控制器(DispatcherServlet)2.前端控制器请求处理器映射器(HandlerMapping)去查找处理器(Handler)3.找到之后处理器映射器(HandlerMapping)向前端控制器返回执行链(HandlerExecutionChain)4.前端控制器(DispatcherServlet)调用处...
2018-09-12 17:15:14
346
转载 二叉链表
链式存储结构 二叉树的链式存储结构是指,用链表来表示一棵二叉树,即用链来指示元素的逻辑关系。通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址。其结点结构为: 其中,data域存放某结点的数据信息;lchild与rchild分别存放指向左孩子和右孩子的指针,当左孩子或右孩子不存在时,相应指针域值为空(用...
2018-09-12 10:04:16
14345
原创 剑指Offer专题-字符串-面试题4:替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。public class Solution { public String replaceSpace(StringBuffer str) { //源字符串长度 int oldStr =...
2018-09-09 17:34:32
192
原创 剑指Offer专题-数组-面试题14:调整数组顺序使得奇数位于偶数前面
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。public class Solution { public void reOrderArray(int [] array) { // if(array == nul...
2018-09-09 17:31:25
310
原创 剑指Offer专题-数组-面试题3:二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。import java.util.Scanner;public class Solution { public boolean Find(int target, int [][] array) { ...
2018-09-09 17:28:53
273
原创 字符串反转
把一个句子中的单词进行反转,例如“how are you",进行反转后”you are how“;策略:1先将整个句子进行反转2.分别对每个单词进行反转package com.luo.stringtest;public class ReverseString { public static void main(String[] args) { String...
2018-09-04 11:46:12
307
原创 经典排序算法
一.算法的分类相关概念:稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。空间复杂度:是指算法在计算机内执行时所需存储空间的度量,它也是数据规模n的函数。二.冒泡排序(BubbleSort)冒泡排序是...
2018-09-04 10:17:57
855
原创 面向对象的“六原则一法则”
(1)单一职责原则:一个类只做它该做的事情。其核心就是我们常说的"高内聚",写代码最终极的原则只有六个字"高内聚、低耦合",一个对象如果承担太多的职责,那么注定它什么都做不好。 (2)开闭原则:软件实体应当对扩展开放,对修改关闭。(在理想的状态下,当我们需要为一个软件系统增加新功能时,只需要从原来的系统派生出一些新类就可以,不需要修改原来的任何一行代码。要做到开闭有两个要点: ...
2018-08-23 15:59:22
2229
原创 Java的反射机制
一.何为反射:反射就是动态加载对象,并对对象进行剖析。在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法,这种动态获取信息以及动态调用对象方法的功能成为Java反射机制。二.获得一个类的类对象有哪些方式?(1)Class.forName(classname):用于做类加载//根据给定的类名来获得,用于类加载String ...
2018-08-23 15:39:53
503
原创 数据库的查询
数据库查询语法select [distinct] * | 列名,列名 from 表 where 条件简单查询(SELECT select…from)查询指定字段信息 select 字段1,字段2,...from 表名; 例如: select id,zname from zhangwu; 查询表中所有字段 select * from 表名...
2018-08-20 17:35:36
19202
原创 MySQL数据库的使用
一.关键字数据库 : database 数据表 : table 创建 : create修改 : alter 添加 : add 修改 : modify(类型/约束)/change(列名/类型/约束)删除 : drop 增加 : insert into 更新 : update…set 删除 : delete from约束 : constraint 唯一 : unique 非空 :...
2018-08-20 15:59:06
417
转载 Java中的序列化及反序列化
简要解释: 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。 序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用...
2018-08-19 18:33:19
204
原创 同步代码块与同步函数
(1)同步代码块:位置比较灵活,锁对象可以任意对象,但必须是同一对象。格式: synchronized(对象) { //任意对象都可以。这个对象就是锁。 需要被同步的代码; } (2)同步函数:声明方法时加synchronized关键字,同步函数使用的锁...
2018-08-19 17:07:33
417
原创 Java多线程总结
前言Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。并行...
2018-08-19 16:12:39
262
转载 git简单使用
在http://github.com 上注册自己的github账户后,要执行语句git config --global user.name "yourname"git config --global user.email "XXX@XXX.com"这样等于是在本地标记了自己的账户,以后就可以直接使用了。要上传文件到GitHub的Git系统上,需要一个SSH密匙来认证,两步搞定:(...
2018-08-18 21:47:58
191
原创 CocurrentHashMap的原理
ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable。对于ConcurrentHashMap是如何提高其效率的,可能大多人只是知道它使用了多个锁代替HashTable中的单个锁,也就是锁分离技术(LockStripping)。实际上,ConcurrentHashMap对提高并发方面的优化,还有一些其它的技巧在里面(比如你是否知道在g...
2018-08-18 17:52:04
1542
原创 HashTable和HashMap实现原理和区别
HashTable和HashMap都是map接口的实现类,这两个类的实现原理基本是一致的,都是基于数组加链表的数据结构一、实现原理:HashTable和HashMap都实现了map接口,只是HashTable继承了Dictionary抽象类而HashMap继承了AbstractMap类,他们的底层实现基本是一致的,都是基于数组(Entry类型)加链表这种数据结构实现的1、HashTab...
2018-08-18 16:23:46
859
原创 字符串反转的几种方法
1.递归实现 public static String reverse(String original){ if(original==null|| original.length()<=1) return original; return reverse(original.substring(1))+original.cha...
2018-08-13 18:11:55
873
原创 Java中的内存泄露
Java内存泄漏引起的原因: 内存泄漏是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成内存空间的浪费称为内存泄漏。 长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄漏,尽管短生命周期对象已经不再需要,但是因为长生命周期持有它的引用而导致不能被回收,这就是Java中内存泄漏的发生场景。造成内存泄漏的几种情况:1、静态集合类引起内存泄漏...
2018-08-13 16:49:13
183
原创 JVM加载class文件的原理机制
Java语言是一种具有动态性的解释型语言,类(class)只有被加载到JVM中后才能运行。当运行指定程序时,JVM会将编译生成的.class文件按照需求和一定的规则加载到内存中,并组织成为一个完整的Java应用程序。这个加载过程是由类加载器来完成的,具体来说,就是由ClassLoader和它的子类来实现的。类加载器本身也是一个类,其实质是把类文件从硬盘读取到内存中。类的加载方式分为隐式加载与显...
2018-08-13 10:57:08
233
转载 equals与==的区别
java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean,他们之间的比较,应用双等号(==),比较的是他们的值。2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为...
2018-08-12 21:42:08
142
转载 脏读、幻读和不可重复读 + 事务隔离级别
1. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。 e.g. 1.Mary的原工资为1000, 财务人员将Mary的工资改为了8000(但未提交事务) 2.Mary读取自己的工资 ,发现自己的工资变为了8000,欢天喜地! 3.而财务发现操作有误,...
2018-08-09 22:20:50
219
原创 框架学习之Spring的事务管理
一.事务 1. 事务:指的是逻辑上一组操作,组成这个事务的各个执行单元,要么一起成功,要么一起失败! 2. 事务的特性 * 原子性 * 一致性 * 隔离性 * 持久性 3. 如果不考虑隔离性,引发安全性问题 * 读问题: * 脏读: *...
2018-08-09 22:14:46
178
原创 框架学习之Spring的AOP技术
一.AOP概述1.AOP为Aspect Oriented Programming的缩写,意为:面向切面编程;是一种编程范式,隶属于软工范畴,指导开发者如何组织程序结构;AOP最早由AOP联盟的组织提出的,制定了一套规范;通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术;利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高...
2018-08-09 17:57:53
172
原创 框架学习之Spring框架的IOC基于注解的方式
一.Spring框架的IOC之注解方式的快速入门1.步骤一:导入注解开发所有需要的jar包 * 引入IOC容器必须的6个jar包 com.springsource.org.apache.commons.logging-1.1.1.jar com.springsource.org.apache.log4j-1.2.15.jar ...
2018-08-09 16:56:57
181
原创 框架学习之Spring入门
一.Spring框架的概述Spring是一个开源框架,于2003 年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(...
2018-08-09 16:39:21
194
原创 Servlet对象ServletConfig,ServletContext
一.Servlet创建对象的原理:1.Servlet对象是由服务器进行创建的,其整个生命周期从创建到销毁由服务器进行管理,在第一次请求的时候会读取web.xml文件,通过反射创建Servlet对象。初始化init方法在第一次请求时调用,只调用一次。2.反射过程的实现:--1.找到Servlet程序的对应的类,通过反射找到当前的class字节码文件,通过class获取字节码文件对象---Class ...
2018-06-07 00:12:58
269
原创 从尾到头打印链表
具有理接参考:http://www.cnblogs.com/edisonchou/p/4740993.html一、题目:从尾到头打印链表题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。 到解决这个问题肯定要遍历链表。遍历的顺序是从头到尾的顺序,可输出的顺序却是从尾到头。也就是说第一个遍历到的结点最后一个输出,而最后一个遍历到的结点第一个输出。这就是典型的“后进先出”,我们可以用栈实...
2018-04-17 13:21:33
162
原创 java实现--单向链表的插入和删除
一、链表结构: (物理存储结构上不连续,逻辑上连续;大小不固定) 概念: 链式存储结构是基于指针实现的。我们把一个数据元素和一个指针称为结点。 数据域:存数数据元素信息的域。 指针域:存储直接后继位置的域。链式存储结构是用指针把相互直接关联的结点(即直接前驱结点或直接后继结点)链接起来。链式存储结构的线性表称为链表。链表类型: 根据链表的构造方式...
2018-04-17 09:32:43
2579
2
转载 JAVA中Random类的Random r=new Random()和Random r=new Random(seedValue)的区别
区别在于: Random r=new Random():每次运行程序时seedValue不一样,得到的随机数序列不一样,一般会这么用Random r=new Random(seedValue): :每次运行程序得到的随机数序列都是一样的。例如第一次运行程序得到的随机数是 2, 4, 1, 5, 7。那么重启程序,再次得到的随机数还是2, 4, 1, 5, 7原因:Random产生的随机数实际上属于...
2018-04-13 16:53:30
2724
转载 关于Random r = new Random(47)中47的意思
今天看Java编程思想的时候看到了一段这样的代码: Random r = new Random(47); int a = r.nextInt(26); System.out.println(a);123刚开始没注意那个47,以为是随机一个47以内的数,但是看到后面在nextInt(26)里面还有个26,一想26应该才是随机数的范围,那这个47是什么呢?然后看源码,看不懂。。。...
2018-04-13 16:51:58
562
原创 替换空格-java实现
一、题目:替换空格题目:请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We are happy.”,则输出“We%20are%20happy.”。 在网络编程中,如果URL参数中含有特殊字符,如空格、'#'等,可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成服务器可以识别的字符。转换的规则是在'%'后面跟上ASCII码的两位十六进制的表示。比如空...
2018-04-13 14:18:36
407
原创 二维数组中的查找
题目要求题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数例如下面的二维数组就是每行、每列都递增排序。如果在这个数组中查找数字7,则返回true;如果查找数字5,由于数组不含有该数字,则返回false。思路:首先选取数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如...
2018-04-13 10:31:26
164
原创 get和post提交方式的异同
前言:做Web开发就一定会涉及到浏览器和服务器的交互,所以了解浏览器和服务器交互的方式就尤为重要。从接触B/S开始就已经接触到了get和postHTTP协议说道GET和POST,就不得不提HTTP协议,因为浏览器和服务器的交互是通过HTTP协议执行的,而GET和POST也是HTTP协议中的两种方法。HTTP全称为Hyper Text Transfer Protocol,中文翻译为超文本传输协议,目...
2018-03-23 11:30:19
377
原创 servlet
servlet简介: 全称:servlet Applet,简单地说,它就是一个java程序,是一个运行在web服务器上的程序。它可以对Web浏览器或其他HTTP客服端程序发出的请求进行处理。但是使Servlet能够处理以上请求的前提条件是Servlet对象要被布置在Servlet容器当中,我们这里用的Servlet容器就是我们前面用到的Tomcat服务器。可以使浏览器和服务器进行交互,实现w...
2018-03-22 23:34:12
181
原创 javaScript基础
一.JavaScript简介JavaScript是脚本语言,在浏览器端解释并被执行的JavaScript 是一种轻量级的编程语言。JavaScript 是可插入 HTML 页面的编程代码。JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。JavaScript历史: JavaScript诞生于1995年。起初它的主要目的是处理以前由服务器
2018-01-21 11:37:54
274
原创 CSS入门
css概述css(Cascading Style Sheets)是层叠样式表,用来定义网页的显示效果,对html标签进行操作(标签中文本内容设置)。W3C指定的标准:针对html:结构化标准针对css:样式化标准 美化网页css的使用方式1.行内样式:在每个html标签里面都会有style属性:style="font-size:24px;color:#F00">
2018-01-11 16:29:34
321
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人