自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 B+树

B+树:B+ 树是一种树数据结构,是一个n叉排序树,每个节点通常有多个孩子,B+ 树通常用于数据库和操作系统的文件系统中。B+ 树的特点是能够保持数据稳定有序,其插入与修改拥有较稳定的对数时间复杂度。B+ 树元素自底向上插入。 B+树是对B树的一种变形树,它与B树的差异在于:有k个子结点的结点必然有k个关键码; 非叶结点仅具有索引作用,跟记录有关的信息均存放在叶结点中。...

2018-09-24 18:23:37 324

原创 java字符流与字节流

字符流与字节流字节流直接操作文件,写入文件:最基本的两个类是InputStream、OutputStream;都是抽象类,不能用new;字符流需要先放入缓存后,在从缓存写入文件:最基本的两个类是Writer、Reader;都是抽象类; 字节流主要处理二进制数据;InputStream中有read()方法,字节流在默认情况下是不支持缓存的,这意味着每调用一次read方法都会请求操...

2018-09-18 22:18:09 188

原创 Java线程的四种方法

Java线程的四种方法:1:继承Thread()类,重写run方法;(extends)2:实现Runable接口,重写run方法;接口的实现类(MyThread)作为参数传给Thread的构造方法;(implements)3:通过Callable和FutureTask创建线程;(call方法)4:通过线程池创建线程;(Executors)如果是run方法,如1/2:会先执行完m...

2018-09-18 19:28:14 442

原创 Java泛型

Java泛型:泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动的或者隐式的,提高代码的重用性。规则:泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。(注意类型参数只能代表...

2018-09-16 17:52:38 267

原创 Java集合类(List、Set、Map)

Java集合类​  接口 说明 实体类 Set Set扩展了Collection接口,用来提供集合的维护所需功能(无序) 不可重复。 HashSet LinkedHashSet SortedSet SortedS...

2018-09-04 13:08:52 161

原创 动态规划--背包问题(01、完全、多重)

01背包:有n 种不同的物品,每个物品有两个属性,size 体积,value 价值,现在给一个容量为 w 的背包,问最多可带走多少价值的物品。  例:编号分别为a,b,c,d,e的五件物品,它们的重量分别是2,2,6,5,4,它们的价值分别是6,3,5,4,6,每件物品数量只有一个,现在给你个承重为10的背包,如何让背包里装入的物品具有最大的价值总和?考虑f[5][10]即表示为5种都...

2018-09-04 01:05:45 8800 1

原创 Java使用log4j输出日志

Java使用log4j输出日志使用log4j.jar。 Log4j是apache提供的记录日志的包。Commons-logging.jar是配合log4j.jar打印输出日志必备的jar包。 例如下log4j.properties配置内容如下: # Global logging configuration log4j.rootLogger=DEBUG, stdou...

2018-09-01 20:12:27 1309

原创 数据库内连接、外连接 、交叉连接

数据库连接分为:内连接 外连接 交叉连接 (即笛卡尔积)  内连接(INNER JOIN):分为三种:等值连接、自然连接、不等连接 外连接(OUTER JOIN):分为三种:左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)、全外连接(FULL JOIN) 交叉连接(CROSS JOIN):没有where 子句,它返回连接表中所有数据行的笛卡尔积并集UNION:s...

2018-08-31 19:55:50 1550

原创 Web技术---jsp、servlet

Web技术 jsp  servlet        1:forward和redirect的区别:Forward是服务器请求资源,服务器直接访问目标地址的URL,把URL的响应内容读取过来,然后把这些内容发给浏览器,浏览器不知道服务器发送的内容是从哪来的,所以他的地址栏中还是原来的地址。Redirect就是服务端根据逻辑发送的一个状态码,告诉浏览器重新去请求访问过的那个地址,浏览器会...

2018-08-31 12:32:42 424

原创 java多线程

多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销;;多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。新建状态:使用 new 关键字和 Thread 类或其子类建立一个线程对象后,该线程对象就处于新建状态。它保持这个状态直到程序 start() 这个线程。就绪状态:当线程对象调用了start()方法之后,该线程就进入就绪状态。就绪状态的线程处于就绪队列中,要...

2018-08-29 01:08:13 120

原创 Hadoop之单词计数

HadoopHadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(h...

2018-08-27 01:11:32 3040

原创 java爬虫

Java爬虫,存入数据库,且写入文件存入txt;WyouSubUrl.java    ///部分代码//获取网页数据 public class WyouSubUrl implements PageProcessor { // 抓取网站的相关配置,包括编码、抓取间隔、重试次数等 private Site site = Site.me().setRetryTimes(3)...

2018-08-27 00:01:56 261

原创 servlet和JSP

servletServlet 是一种独立于平台和协议的服务器端的 Java 技术,可以用来生成动态的 Web 页面。与传统的 CGI(计算机图形接口)和许多其他类似 CGI 技术相比,Servlet 具有更好的可移植性、更强大的功能,更少的投资,更高的效率,更好的安全性等特点。Servlet 是使用 Java Servlet 应用程序接口(API)及相关类和方法的 Java 程序。Java...

2018-08-26 20:43:45 150

原创 并查集

并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。 例题:亲戚【问题描述】若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不...

2018-08-26 02:53:50 114

原创 整理知识笔记(7)--操作系统、计网、J2EE

1:多任务又分为协同多任务和抢占式多任务:协同式多任务:在一个多任务的环境下,只有当其他程序认可时,才可以获得CPU时间;(即其他程序协同控制CPU)抢占式多任务:必要时,操作系统可以中断当前运行的任务以便运行另一个程序; CPU的多任务抢占机制如何实现?CPU是通过设置时间中断来实现抢占机制的,在进行保护模式之前,先初始化中断向量表,在时钟中断入口处放置任务切换代码,然后设置...

2018-08-20 20:08:54 229

原创 整理知识笔记(6)--String,设计模式(单例、MVc)

1:String  字符串中“==”号是左右两个变量是否指向同一内存地址;“equals()”是指两个object是否一样;(所有成员的值都相同)    String a= “abc”; String b=”abc”; a==b;//true a.equals(b);//true String a=new String (“abc”); ...

2018-08-19 23:59:01 2430

原创 整理知识笔记(5)--数据结构(存储结构、排序)

1:释放堆栈空间 Image[] img = new Image[10]; for(int i=0;i<img.length;i++){ img[i]=Image.createImage(“/res/”+i+”.png”); } img = null; 上述代码没有释放堆栈空间; 1:img = null;后没有原img数组中的那些图...

2018-08-18 17:12:27 1006

原创 整理知识笔记(4)--继承、接口、抽象类

1:重载与覆盖: 重载:不同参数,相同函数名 相同的范围(同一个类中); 函数名字相同; 参数不同(返回值可以不同); Virtual关键字可有可无;   覆盖:派生类中重新定义的函数,其函数名、参数、返回值类型都必须与父类相同。派生类会自动调用子类的覆盖版本。     不同的范围(分别位于派生类与基类);  ...

2018-08-16 15:14:18 252

原创 整理知识笔记(3)--java面向对象(容器类+继承+多态)

1:java创建对象的几种方法: new语句创建对象 运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法 调用对象的clone()方法 运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法 1...

2018-08-14 10:23:45 247

原创 java内存管理(垃圾收集器、内存泄漏)

GC1:GC 是什么? 为什么要有 GC?GC:垃圾回收,使用 GC 可以进行垃圾空间释放操作。GC 是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java 提供的 GC 功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java 语言没有提供释放已分配内存的显示操作方法...

2018-08-13 16:11:06 474

原创 整理知识笔记(2)

1、JVM使用的字符表示:在Java中,字符只能以一种形式存在,即Unicode;JVM的这种约定使得一个字符分为两部分:JVM内部和OS文件系统。在JVM的内部同一使用Unicode编码,当字符从内部到外部时,就进行了编码转换。 2:public class test{static { int x=5; }  ////在第一次被载入JVM时运行,但是是局部变量,后面程序不能使...

2018-08-12 13:01:01 164

原创 ClassLoader

ClassLoader:Java程序并不是一个可执行文件,而是由许多独立的类文件组成,每个文件对应一个类,这些类文件并非全部装入内存,而是根据程序需要逐渐载入。ClassLoader是JVM实现的一部分,ClassLoader在JVM运行时加载Java核心的API,其中包括用户定义的ClassLoader,这里的用户定义是指通过java程序实现的两个ClassLoader:·ExtCl...

2018-08-07 03:36:04 123

原创 整理知识点笔记(1)

1:char s[]=”01231/0123asd”;For(int i=0;s[i]!=0;i++)////这里的for循环遇到’\0’才会终止 2:void *fun()///说明该函数的返回值是无值型的指针类型Void (*fun)()///说明指针fun指向一个函数,该函数无返回值 3:河内塔:n个盘子,3个柱子void Hanoi(int n,int p1...

2018-08-06 13:15:15 232

原创 简单的java爬虫

记写过的一个简单的java爬虫:(单线程的)1:创建HttpClient2:创建请求方法:HttpGet httpGet = new HttpGet(url);3:设置Header模拟浏览器行为:httpGet.setHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (...

2018-07-18 19:27:43 157

原创 java基础问题(一)

1:作用域public、private、protected,以及不写时的区别? 当前类同package子类不同packagepublic√√√√private√√√ default√√  protected√    2:String能否被继承Java.lang.String类是final类型的,因此不可以继承这个类、不能修改。为提高效率节省空间,可以使用StringBuffer类 3:int与In...

2018-05-19 13:14:51 948

原创 动态规划与贪心算法比较

动态规划和贪心算法比较动态规划:动态规划一般分为线性动规、区域动规、树形动规、背包动规四类动态规划程序设计师是对解最优化问题的一种途径、一种方法,而不是一种特殊的算法,并不是一个标准的数学表达式和明确清晰的解题方法。往往针对一种最优化问题,问题的性质不同,确定优化的条件也不同,所以就有不同的动态规划解题方法。 基本思想:动态规划通常求解具有某种最优性质问题,找到最优解。动态规划与分支法类似,器基本...

2018-05-13 09:21:22 2807

原创 设计模式

设计模式大量的实践中总结、理论化之后优选的代码结构、编程风格、解决问题的方案和途径。设计模式(design pattern)是一套被反复使用、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被理解、保证代码可靠性。 设计模式是代码编制真正工程化,设计模式是软件工程的基石。在项目中合理的运用设计模式可以解决很多问题,每个模式描述了问题以及该问题的核心解决方案。组成部分:...

2018-05-12 09:27:54 107

原创 过滤器和拦截器

过滤器和拦截器Filter过滤器:拦截web访问url地址Intercept拦截器:拦截以.action结尾的url,拦截action的访问Spring AOP拦截器:拦截spring管理的Bean的访问(业务层service) String AOP,是AOP的一种实现,使用的是代理模式。Filter是J2EE的规范,filter可以用来设置字符串、控制权限、控制转向等等。Filter也是AOP的...

2018-05-11 21:44:58 170

原创 AOP

AOP面向对象的特点继承、多态、封装。而封装就是要求功能分散到不同的对象中。也就是所让不同的类有不同的设计方法,这样代码就分散到一个个的类中去了,这样做的好处是降低了代码的复杂程度,使得可重用。但是在分散代码的同时也增加了代码的重复性。比如说,在我们的两个类中,可能都需要在每个方法中做日志,也许日志的内容是完全相同的,但就是因为面向对象的设计让类之间无法联系,而不能将这些重复的代码统一起来。 一种...

2018-05-11 18:19:53 92

原创 IOC&AOP

IOC&AOP IOC:IOC(inverse of control)控制反转,其包括两个内容:一个是控制,一个是反转。在程序中,被调用类的选择控制权从调用它的类中移除,转交给第三方裁决,这个第三方指的就是spring的容器。(在spring中创建被调用者的工作不再由调用者来完成,因此称为控制反转。创建被调用者的工作由spring来完成,然后注入调用者,因此也称为依赖注入。)依赖注入(de...

2018-05-11 13:53:51 140

原创 浅谈springmvc

Spring MVC使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。常见MVC框架比较运行性能上:   Jsp+servlet&g...

2018-05-10 14:40:06 428

原创 mybatis的DAO开发

mybatis的DAO开发 使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法。1.1 需求将下边的功能实现Dao:根据用户id查询一个用户信息根据用户名称模糊查询用户信息列表添加用户信息1.2 SqlSessionSqlSession中封装了对数据库的操作,如:查询、插入、更新、删除等。通过SqlSessionFactory创建SqlSession,而S...

2018-05-10 13:58:03 97

原创 浅谈mybatis

mybatis是apache的一个开源项目iBatis,(是一个基于java的持久层框架,提供的持久层框架包括SQL Maps和data access object (DAOs))Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集,可以使用简单的XML或注解来配置和映射原生信息,将接口和java的pojo(普通的java对象)映射成数据库中的记录每个mybatis应用程序主要都...

2018-05-10 12:30:15 862

原创 STL的vector

STL的vectorvector是表示可变大小的序列容器,可以动态增长,采用连续的存储空间来存储元素,可以直接用下标进行访问,相对于其他的动态序列容器来说,vector在访问元素的时候更加高效,在末尾添加和删除元素相对高效,不在末尾删除和插入则效率低 与数组相比:优点:使用时无需申明上限,vector的长度会自动增加Vector在增加删除元素上比数组高效缺点:时间:运行速度比数组慢空间:clear...

2018-05-08 10:32:40 106

原创 map的使用

STL的mapmap是STL的一个关联容器,它提供一对一的数据处理能力(其中第一个可以成为关键字,每个关键字只能出现一次,第二个值对应该关键字的值)Map内部自建一颗红黑树,这棵树具有对数自动排序的功能,所以在map内部所有的数据都是有序的 map的特点是增加和删除节点对得带起的影响很小,处理那个擦操作节点,对其他节点没有影响。对于迭代器来说,可以修改值value,不能修改键key map有key...

2018-05-04 14:31:47 179

原创 协同过滤推荐算法

协同过滤推荐算法协同过滤推荐算法(collaborative filtering recommendation  CF)CF是推荐系统中应用最为广泛和成功的算法。此算法的前提假设是用户a与用户b均对一系列相同的物品表示喜欢,那么a极有可能也喜欢b用户喜欢的其他物品。思想:用户首先为每个项目进行评分打分,通过计算不同的用户评分之间的相似程度(即评分结果相似的),可以找到最近邻居的评分,产生推荐 举例...

2018-04-28 10:41:57 625

转载 基于内容的推荐算法

基于内容的推荐算法基于内容的推荐算法(content-based recommendations  CB)CB是最早使用的推荐算法,它的思想:根据用户过去喜欢的物品,为用户推荐和他过去喜欢的物品相似的物品。关键在于物品相似性的度量。 原理大概分为3步:1:为每个物品Item构建一个物品的,构建一个物品的属性资料(item profile)2:位每个用户User构建一个用户的喜好资料(User pr...

2018-04-28 00:10:25 4366

原创 进程和线程

线程和进程 操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行; 进程:进程是系统进行资源分配和调度的基本单位,是动态过程;(进程是任务调度的最小单位)由程序段、数据段、进程控制块组成:·程序段就是能被进程调度程序调度到CPU执行的程序代码段。注意,程  序可以...

2018-04-27 20:19:24 118

原创 TCP(三次握手,四次挥手)

TCPTCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。UDP---用...

2018-04-26 23:55:07 101

原创 websocket

WebSocketWebsocket协议是基于TCP的一种新的网络协议,他实现了浏览器与服务器全双工通信,允许服务器主动发送信息给客户端,实现了浏览器与服务器全双工通信,属于长连接(不同于HTTP)最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话, 已有 HTTP 协议,为什么还需要websocket协议?答案很简单,因为 HTTP 协议有一个缺...

2018-04-26 19:46:30 154

空空如也

空空如也

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

TA关注的人

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