自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lilyの博客 ٩(❛ัᴗ❛ั)

一只努力奋斗的程序媛 ( •̀∀•́ )

  • 博客(158)
  • 资源 (1)
  • 收藏
  • 关注

原创 Git入门

Git入门/* 更新,最近用IJ写代码。这里是在IJ里使用git的教程。 http://blog.csdn.net/milsevol/article/details/72792468 */由于需要用Git网址提交作业,不得不学习一下Git指令,下载了一个git版本控制、申请一个GitHub账号,(顺便下载了Markdown编辑器)。推荐:Git教程总结一下我今天觉得最重要的几

2017-12-28 22:44:39 637

转载 项目管理工具——GitHub

Git是什么? Git是目前全世界最先进的分布式版本控制系统。SVN是集中式的版本控制系统,Git是分布式版本控制系统。集中式的版本控制系统需要联网才能工作,有类似“中央管理器的概念”。 分布式的版本控制系统安全性更好,机器之间互相推送各自修改的内容给对方。

2017-09-21 16:48:45 758

原创 HTTPS入门

HTTPS=HTTP+加密+认证+完整性保护。把添加了加密及认证机制的HTTP称为HTTPS(HTTP Secure)。在浏览器端改用https:// ,浏览器会出现一个“锁”的标记。HTTPS不是一种新的协议,只是HTTP通信接口部分用SSL(Secure Socket Layer)和 TLS(Transport Layer Security)协议代替而已。

2017-08-31 22:23:55 618

原创 JAVA Map 源码分析

HashMap: 根据键的HashCode值存储数据,使用的数据结构是链表散列(数组+链表)访问速度很快。父类是AbstractMap。特点是线程不安全、允许空键值,改用containsvalue和containsKey。冲突解决方法是链地址法(它有一个桶的概念,对于Entry数组而言,数组每个元素处存储的是链表,一个链表就是一个桶,使用addEntry()方法添加新元素时总是将新元素添加在链表的表头)

2017-08-31 22:22:32 1900

原创 Java Set 源码分析

HashSet:按照Hash算法来存储集合中的元素,有良好的存取和查找性能。特点:1、无序;2、线程不同步3、集合元素值可以为null使用equals()+hashCode()两个返回值都相等来判断两个元素是否相等。如果hash冲突,HashSet会在同一位置使用链式结构来保存多个对象。TreeSet:实现了SortSet()接口,采用的数据结构是红黑树。最大的特点是有序(提供Comparable()接口支

2017-08-31 22:22:12 432

原创 Java List源码研究

ArrayList:【数组实现的】方法不同步、线程不安全、性能相对高,查找速度快,默认扩充为原来的1.5倍。Vector:【数组实现的】方法同步(sychronized)、线程安全、性能相对低、查找速度快,可设置增长因子,一般扩充2倍。LinkedList:【双向列表实现的】线程不安全、插入效率高。>>只在末端增删元素,用于保持数据插入的顺序。

2017-08-31 22:21:58 316

原创 Java并发集合框架简介

Java语言的集合框架父接口是Iterable,从这个接口向下一一继承。在JDK并发包中ConcurrentHashMap:是支持并发操作的Map对象。Hashtable类也是线程安全的类,与ConcurrentHashMap的区别:当多个线程分别调用该类的iterator()方法返回Iterator对象后,再调用remove()时会出现ConcurrentModificationException异常...

2017-08-31 22:21:42 315

原创 Servlet工作原理

Context容器才是真正运行Servlet的Servlet容器。一个Web应用对应一个Context容器,容器的配置属性由应用的web.xml指定。

2017-08-31 22:21:27 268

原创 分析ClassLoader工作机制

ClassLoader是类加载器,主要工作为:(1)负责将Class加载到JVM。(2)审查每个类应该由谁加载。(父优先的等级加载机制)(3)将Class字节码重新解析成JVM统一要求的对象格式。

2017-08-31 22:21:08 269

原创 Hadoop入门

Hadoop入门概念一、Hadoop定义Hadoop是一个提供分布式存储和计算的软件框架,它具有无共享、高可用、弹性可扩展的特点,非常适合处理海量数据。ASF(Apache软件基金会)对Hadoop的定义:Hadoop软件库是一个框架,允许在集群中使用简单的编程模型对大规模数据集进行分布式计算,它被设计为可以从单一服务器扩展到数以千计的本地计算和存储的节点,并且Hadoop会在应用层面检测和处理错

2017-08-31 22:20:42 314

原创 web异步入门

Web交互开发中的异步、实时web交互技术,是当前Web应用技术研究领域的新热点之一。Web实时交互的4种技术,轮询、长轮询、长连接和推送。针对传统的Web技术的三个缺点,现在的Web交互技术有了新的进展。主要分为三个大类,以iframe为代表的模拟异步传输,以Ajax为代表的浏览器段技术的异同通信技术,和以WebSocket为代表的真正实现“服务器推”的异步技术。

2017-08-31 22:18:42 452

原创 SpringBoot 入门

SpringBoot是一个微服务框架,主要用于快速开发Java,简化了开发过程、配置过程、部署过程和监控过程。

2017-08-13 22:16:39 505

原创 MyBatis与JDBC的比较

MyBatis与JDBC的比较。MyBatis对JDBC的封装很好,几乎可以取代Jdbc。MyBatis使用SqlSessionFactoryBuilder来连接完成JDBC需要代码完成的数据库获取和连接,减少了代码的重复。JDBC将SQL语句写到代码里,属于硬编码,非常不易维护,MyBatis可以将SQL代码写入xml中,易于修改和维护。JDBC的resultSet需要用户自己去读取并生成对应的POJO,MyBatis的mapper会自动将执行后的结果映射到对应的Java对象中。

2017-08-06 11:28:20 18346

原创 MyBatis与Hibernate的区别

MyBatis与Hibernate的区别、比较、各自优缺点。Hibernate是全表映射模式,代码量小,开发速度快。同时提供了日志、缓存、级联,使用HQL对POJO进行操作。缺点由于屏蔽SQL导致的不灵活、不支持存储过程、不能优化SQL而导致的性能差。MyBatis是自由书写SQL,支持动态SQL、支持存储过程,满足性能优化的需要。但是由于需要手工编码Sql,开发工作量稍大。Hibernate适用于性能要求不太大的系统,比如企业的管理系统等。MyBatsi更适合性能要求高,响应快,灵活性要求要的系统。

2017-08-06 11:26:13 487

原创 Redis入门知识

Redis是一个高性能的Key-Value存储系统,使用ANSI C语言编写、支持网络、可持久化,并且提供多种语言的API。Redis技术性能十分优越,可以支持每秒十几万次的读写操作,支持集群、分布式、主从同步等配置。还能支持一定的事务能力,可在高并发访问的场景下保证数据安全和一致性。Redis的key超时不会被其自动回收,它只会标识哪些键值对超时了。Redis的事务是使用MULTI-EXEC的命令组合实现的。Redis通过流水线技术来提高Redis命令性。6种数据类型分别是字符串链表集合有序集合哈希结构基

2017-07-31 22:31:18 402

原创 CDN(静态独立)

CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

2017-07-31 22:29:19 455

原创 ThreadLocal 线程局部变量

ThreadLocal是Thread Local Variable(线程局部变量)的意思。线程局部变量的功能是为每一个使用该变量的线程都提供一个变量值的副本,使每一个线程都可以独立的改变自己的副本,而不会和其他线程的副本冲突。如果多个线程之间需要共享资源,以达到线程之间的通信功能,就使用同步机制。如果仅仅需要隔离多个线程之间的共享冲突,则可以使用ThreadLocal。ThreadLocal不能替代同步机制。

2017-07-31 22:27:55 336

原创 SpringMVC之interceptor拦截器

拦截器Interceptor是SpringMVC中的一个强大控件,它可以在进入处理器之前做一些操作,或者在处理器完成后进行操作,甚至是在渲染视图后进行操作。preHandle,postHandle,afterCompletion。多个拦截器执行的顺序。用户登录的拦截器开发。

2017-07-31 22:24:53 592

原创 邮件激活

基本思路:生成密钥和过期时间附在链接发出去,用户点击后通过UID查询判断这个密钥和过期时间是否合法基本就可以了。做法:用库,如 https://nodemailer.com/用第三方服务,如 https://sendgrid.com/把库和服务结合起来,例子如 https://sendgrid.com/blog/sending-email-nodemailer-sendgrid/不要用SMTP,对非大量邮件不需要引入队列,直接发就行了不要把服务认证key或者登入用户名与密码存在文件里,不要ha

2017-07-31 22:21:39 353

原创 ViewObject

VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。

2017-07-31 22:16:51 2164

原创 Session

Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以

2017-07-31 22:11:09 164

原创 Http的请求和返回

HTTP是Hyper TextTransfer Protocol(超文本传输协议)的缩写。

2017-07-31 22:05:56 449

原创 七牛云上传图片

七牛云对象存储服务提供高可靠、强安全、低成本、可扩展的非结构化数据的存储服务。它提供简单的 Web 服务接口,可以通过七牛开发者平台或客户端存储和检索任意数量的数据,支持 “按使用付费” 模式,可以通过调用 REST API 接口和 SDK开发工具包访问,下载协议采用 HTTP 和 HTTPS 协议。方便程序员聚焦业务应用,而无需关注底层存储实现技术。

2017-07-29 15:33:25 13539

原创 MyBatis报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): This application has no explicit mapping for /error, so you are seeing this as a fallback.There was an unexpected error (type=Internal Server Error, status=500).Invalid bound

2017-07-27 20:29:25 8344

原创 MyBatis与SpringBoot

MyBatis是支持普通SQL查询、存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置,以及对结果的检索。MyBatis可以使用简单的xml或注解用于配置和原始映射,将接口和Java的POJO(plain oldjava objects,普通的Java对象)映射成数据库中的记录。分三步,将MyBatis导入我的SpringBoot工程中:在application.porperties增加spring配置数据库URL;porm.xml增加依赖;在templates包

2017-07-27 17:13:57 884

原创 Velocity入门

Velocity是一个基于Java的模板引擎。它允许任何人使用简单而强大的模板语言来引用Java代码中定义的对象。当Velocity用于Web开发时,Web设计人员可以与Java程序员并行工作,以根据模型 - 视图 - 控制器(MVC)模型开发Web站点,这意味着网页设计人员可以专注于创建一个看起来很好的站点,程序员可以专注于编写一流的代码。Velocity将Java代码与网页分开,使网站在其生命周期内更加可维护,并为Java Server Pages(JSP)或PHP提供了可行的替代方案。

2017-07-27 15:07:37 70047

原创 SSH

SSH就是Struts,Spring,Hibernate的整合。Spring整合Hibernate,Struts整合Spring

2017-06-28 21:38:52 225

原创 Spring整合web

Spring整合web的原理是让Spring容器随着tomcat容器ServletContext的启动而启动。并且在初始化完成后放到整个应用都可以访问的范围。具体而言,tomcat启动加载配置文件,首先要init servlet,然后 init filter,web.xml注册过滤器自动调用初始化。Spring提供监听器ContextLoaderListener,确定配置文件的位置,通过系统初始化参数,完成启动。

2017-06-27 10:31:02 216

原创 Spring整合JUnit

Spring整合Junit,让Junit通知Spring加载配置文件。Spring容器自动进行注入。直观上来看,简化了Junit测试类的书写。@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations="classpath:com/Lily/SpringLearning/k_Junit/applicationContext.xml") @Autowired

2017-06-27 09:40:53 303

原创 Spring中事务(基于xml && 基于注解)

Spring事务一、基本概念1、事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务是恢复和并发控制的基本单位。2、特性ACID:原子性:整体。 一致性:完成。隔离性:并发。持久性:结果。3、隔离问题:脏读:一个事务读到另一个事务没有提交的数据不可重复读:一个事务读到另一个事务已提交的数据(update)虚读(幻读):一个

2017-06-26 21:52:54 284

原创 Spring中使用Jdbcdaosupport、C3P0和properties

C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0是为了对数据库连接进行管理。spring 提供用于操作JDBC工具类。配置时依赖连接池DataSource (数据源):创建数据源、创建模板(需要注入数据源)、配置DAO。配置properties文件,将数据库的基本信息写在properties文件中,在xml文件中直接读取properties文件信息,使得代码的复用性更强。

2017-06-23 17:45:35 564

原创 AspectJ 基于xml开发和基于注解的开发

AspectJ是一个基于Java语言的AOP框架。Spring2.0以后新增了对AspectJ切点表达式支持。@AspectJ 是AspectJ1.5新增功能,通过JDK5注解技术,允许直接在Bean类中定义切面。新版本Spring框架,建议使用AspectJ方式来开发AOP。主要用途:自定义开发。

2017-06-23 15:35:34 434

原创 Spring AOP 全自动编程

AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

2017-06-22 10:50:03 290

原创 Spring 基于注解的开发

注解就是一个类,使用@注解名称,用于取代xml配置文件。 (一)普通注解:@Component("id") 取代 <bean id="" class=""> 【见例一】 (二)web开发提供三个注解: 【见例二】 (1)@Repository :dao层 (2)@Service:service层 (3)@Controller:web层

2017-06-16 15:34:23 230

原创 Spring属性依赖注入(手动装配)

Spring的属性依赖注入分为两种: 手动装配 和 自动装配。自动装配是指Spring整合Struts后,可以实现按类型/名称/构造等自动装配。手动装配主要有两种:(1)基于xml装配:构造方法,setter方法 (2)基于注解的装配。

2017-06-16 10:45:02 2899

原创 Spring容器中Bean的生命周期(init-method destroy-method)

在Spring配置中,init-method 用于配置初始化方法,准备数据等,destroy-method 用于配置销毁方法,清理资源等。

2017-06-14 10:57:18 4555

原创 Spring中Bean的基于xml的三种实例化方式

普通Bean基于xml的三种实例化方法 a) 默认构造 <bean id="" class=""> b) 静态工厂:常用于与Spring整合其他框架,用于生成实例对象,所有的方法必须是static。<bean id="" class="工厂全限定类名" factory-method="静态方法"> c) 实例工厂,必须先有工厂实例对象,通过实例对象创建对象,所有的方法都是非静态的。

2017-06-14 09:41:43 875

原创 Java求任意非负整数区间中1出现的次数

求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。

2017-06-07 17:29:11 1405

原创 Java找出两个链表的第一个公共节点

输入两个链表,找出它们的第一个公共结点。

2017-06-06 17:07:58 3138

原创 Java计算连续子向量的最大和

在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长度至少是1)

2017-06-06 16:23:33 568

人工智能大作业

基于规则的系统 推理 PROLOG语言 人工智能

2014-06-22

空空如也

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

TA关注的人

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