• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Foreordination
酒后高歌磨剑,梦中快意恩仇,名利脚下踩,情义两肩挑
博客园    首页    新随笔    联系   管理    订阅  订阅
03 2018 档案
一、JAVA内存区域与内存溢出异常

摘要:在虚拟机自动内存管理机制的帮助下,不在需要为每一个操作区写相对应的delete/free代码来进行内存释放。进而不容易出现内存泄露和内存溢出的问题,由虚拟机管理内存,貌似这一切看起来很好。也正是因为java程序员把内存控制的权利交给了java虚拟机,一旦出现内存泄露和溢出的问题,假如不了解虚拟机是怎 阅读全文
posted @ 2018-03-30 14:55 Foreordination 阅读(148) 评论(0) 推荐(0)
一、SQLite学习

摘要:由于公司业务拓展,需要开发一个基于ASP.NET Core2.0+AdminLTE架构的后台管理系统,数据库选择方面,选择了使用SQLite轻便。 SQLite:一个软件库,实现自给自足,无服务器,零配置,事务性的SQL数据库引擎。使用它,不用在一个单独的服务器进程或操作系统。零配置,也就是不用安装 阅读全文
posted @ 2018-03-30 10:03 Foreordination 阅读(136) 评论(0) 推荐(0)
排列问题

摘要:排列问题: 开学了BOSS要求你写一个程序:输入一个包含n(n<10)个字符的字符串,按字典顺序输出这个n个字符的所有的排列,输入的字符串中有些字母可能出现多次,要求输出中不能有相同的排列。 例如:给你一个字符串abc,你需要输出这三个字母不同的组合:abc acb bac bca cab cba 阅读全文
posted @ 2018-03-25 18:53 Foreordination 阅读(240) 评论(0) 推荐(0)
二十七、服务器优化相关问题

摘要:一、Tomcat服务器 就Tomcat服务器优化问题而言,首先Tomcat服务器是一个轻量级的web服务器,Tomcat和微软的IIS服务器一样,具有处理HTML页面的功能,但是Tomcat还是JSP和Servlet的容器。 首先Tomcat服务器优化性能问题可以改善以下内容: 1、增加JVM堆内存 阅读全文
posted @ 2018-03-23 16:28 Foreordination 阅读(148) 评论(0) 推荐(0)
二十六、深拷贝与浅拷贝

摘要:Java中有两种类型变量,值类型和引用类型。 1、对于值类型:copy是属于全盘复制,也就是深拷贝 2、对于引用类型:一般的copy只是浅拷贝,相当于传递一个引用指针一样。 而当引用类型进行深拷贝的时候必须实现Cloneable接口中提供的Clone方法。 通俗的说: 深拷贝:不仅复制对象的基本类型 阅读全文
posted @ 2018-03-23 15:47 Foreordination 阅读(155) 评论(0) 推荐(0)
一、ZooKeeper学习

摘要:一、什么是ZooKeeper? ZooKeeper是一个分布式应用的开源协调服务。目的就是给用户提供同步、配置管理、分组和命名等服务。是Java语言编写的,支持Java和C两种语言。通俗的讲,它就是用来管理Hadoop、HBase、Kafka等。设计ZooKeeper就是为了减轻分布式应用程序所承担 阅读全文
posted @ 2018-03-22 17:23 Foreordination 阅读(115) 评论(0) 推荐(0)
Winform下有关控件焦点问题

摘要:工作中遇到这样一个需求,根据控件焦点弹出对应的代码帮助窗体。比如界面上,有两个TextBox需要进行代码帮助功能的实现。 首先是绑定主窗体的代码帮助事件。 首先要给代码帮助这个按钮绑定事件: private void SailDateVoy_EventCodeHelp(object sender, 阅读全文
posted @ 2018-03-22 14:10 Foreordination 阅读(250) 评论(0) 推荐(0)
一、人工智能概述

摘要:一、什么是人工智能? 1、 图灵测试 图灵提出了一种测试机器是不是具备人类智能的方法。即假设有一台电脑,其运算速度非常快、记忆容量和逻辑单元的数目也超过了人脑,而且还为这台电脑编写了许多智能化的程序,并提供了合适种类的大量数据,那么,是否就能说这台机器具有思维能力? C向A和B提出问题,由C来判断对 阅读全文
posted @ 2018-03-20 16:15 Foreordination 阅读(539) 评论(0) 推荐(0)
二十五、过滤器Filter,监听器Listener,拦截器Interceptor的区别

摘要:1、Servlet:运行在服务器上可以动态生成web页面。servlet的声明周期从被装入到web服务器内存,到服务器关闭结束。一般启动web服务器时会加载servelt的实例进行装入,然后初始化工作init(),调用doPost()和doGet()方法。然后调用destroy()方法进行销毁实例。 阅读全文
posted @ 2018-03-19 17:20 Foreordination 阅读(264) 评论(0) 推荐(0)
二十四、JAVA的NIO和IO的区别

摘要:一、JAVA的NIO和IO 1、NIO:面向缓冲区(buffer)(分为非阻塞模式IO和阻塞模式IO)组成部分:Channels管道,Buffers缓冲区,Selectors选择器 2、IO:面向流(Stream)(阻塞的IO) 面向流:当一个线程调用read() 或 write()时,线程被阻塞, 阅读全文
posted @ 2018-03-19 15:53 Foreordination 阅读(300) 评论(0) 推荐(0)
四、触发器(Trigger)

摘要:一、触发器 有点类似AOP里的拦截器,触发器不能传递参数,也不能输出参数,也不能显式调用,只有当满足触发器条件的时候Oracle会自动调用。 触发器: 1、语句级别的触发器:CRUD操作 2、行级别的触发器 3、系统级别的触发器:数据库的关闭,启动 4、用户事件的触发器:进行drop,alter,c 阅读全文
posted @ 2018-03-19 15:01 Foreordination 阅读(600) 评论(0) 推荐(0)
三、存储过程(Stored Procedure)与游标(Cursor)

摘要:一、存储过程 一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数,来执行它。 在大型数据库中,存储过程和触发器具有重要的作用。无论是存储过程还是触发器,都是SQL语句和流程控制语句的集合。 存储过程的优点: 1、存储过程只在创造时进行编译,以后每次执行存 阅读全文
posted @ 2018-03-19 14:33 Foreordination 阅读(982) 评论(0) 推荐(0)
二十三、Spring框架的相关知识点总结

摘要:1、Spring的优点: 1.1、Spring在大小和透明性方面是轻量级的,Spring框架大约只有2MB大小。 1.2、控制反转(IOC):使用控制反转技术实现了低耦合,依赖注入(DI)到对象,而不是创建或者寻找依赖的对象。 1.3、面向切面编程(AOP):把应用的核心业务逻辑和周边业务(切面业务 阅读全文
posted @ 2018-03-19 12:02 Foreordination 阅读(225) 评论(0) 推荐(0)
二十二、Spring MVC与Structs2的区别总结

摘要:一、框架的入口 1、Structs2采用Filter(StructsPrepartAndExecuteFilter)来进行实现。 2、SpringMVC采用Servlet(DispatcherServlet)来进行实现。 Filter在容器启动之后立即初始化,服务器停止后销毁,比Servlet晚。 阅读全文
posted @ 2018-03-19 11:22 Foreordination 阅读(177) 评论(0) 推荐(0)
二十一、MVC的WEB框架(Spring MVC)

摘要:一、基于注解方式配置 1、首先是修改IndexContoller控制器类 1.1、在类前面加上@Controller:表示这个类是一个控制器 1.2、在方法handleRequest前面加上@RequestMapping("/index"):表示路径/index会用射到该方法 1.3、不能让Inde 阅读全文
posted @ 2018-03-18 14:34 Foreordination 阅读(254) 评论(0) 推荐(0)
二十、MVC的WEB框架(Spring MVC)

摘要:一、Spring MVC 运行原理:客户端请求提交到DispatcherServlet,由DispatcherServlet控制器查询HandlerMapping,找到并分发到指定的Controller中,然后Controller调用业务逻辑处理后,返回ModelAndView。Dispatcher 阅读全文
posted @ 2018-03-16 17:14 Foreordination 阅读(242) 评论(0) 推荐(0)
十九、Spring框架(注解方式测试)

摘要:一、注解方式测试 1、注解方式测试使用junit。使用junit-4.12.jar和hamcrest-all-1.3.jar(单元测试包) 把这两个jar包,导入到lib文件夹下。 2、TestSpring测试 使用注解: @RunWith(SpringJUnint4ClassRunner.clas 阅读全文
posted @ 2018-03-16 16:38 Foreordination 阅读(229) 评论(0) 推荐(0)
十八、Spring框架(AOP)

摘要:一、AOP(基于XML方式配置AOP) AOP(Aspect Oriented Program):面向切面编程。思想是:把功能分为核心业务功能和周边功能。 所谓核心业务功能:比如登录,增删改数据都叫做核心业务 周边功能:比如性能统计,日志,事务管理等。 在面向切面编程AOP的思想里面,核心业务功能和 阅读全文
posted @ 2018-03-16 16:25 Foreordination 阅读(169) 评论(0) 推荐(0)
十七、Spring框架(IOC/DI)

摘要:一、Spring框架 Spring是一个基于IOC和AOP的结构J2EE系统的框架。 1、IOC反转控制是Spring的基础(Inversion Of Control)。也就是说创建对象由以前的程序员自己new构造方法来调用,变成了交给Spring创建对象。 2、DI依赖注入(Dependency  阅读全文
posted @ 2018-03-16 15:12 Foreordination 阅读(189) 评论(0) 推荐(0)
创建型模式篇(建造者模式Builder Pattern)

摘要:一、建造者模式 阅读全文
posted @ 2018-03-16 11:43 Foreordination 阅读(114) 评论(0) 推荐(0)
创建型模式篇(工厂模式Factory Pattern)

摘要:一、工厂模式(Factory Pattern) 1、定义: 在软件系统,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。提供一种封装机制来隔离这个对象的变化,从而保持系统中其他依赖这个变化对象的对象,就要用到工厂模式。 2、目的: 阅读全文
posted @ 2018-03-16 11:36 Foreordination 阅读(294) 评论(0) 推荐(0)
一、表

摘要:一、ADT表 线性表是一种非常灵活的结果,可以根据需要改变表的长度,也可以在任何位置对元素进行访问,插入或者删除操作.另外,还可以将多个表连接成一个表,或者把一个表拆分成多个表 1、ADT表定义 线性表List是n个相同类型数据元素a1,a2,...an构成的有限序列.表示成List=(a1,a2. 阅读全文
posted @ 2018-03-15 21:44 Foreordination 阅读(211) 评论(0) 推荐(0)
创建型模式篇(单例模式Single Pattern)

摘要:一、单例模式(Singleton Pattern) 单例模式要求一个类只能有一个实例,并且提供了一个全局的访问点。 比如说,中国主席的职位是Singleton,法律规定主席选举,任何时间只能有一个主席。 1、逻辑模型图: 2、物理模型图: 3、具体实现: 3.1、懒汉式单例: 3.2、线程安全的单例 阅读全文
posted @ 2018-03-15 16:59 Foreordination 阅读(228) 评论(1) 推荐(0)
二、工作中常用的SQL优化

摘要:除了给table建立索引之外,保持良好的SQL语句编写。 1、通过变量的方式来设置参数 比如动态查询的时候,尽量这样写 数据库的SQL解析和执行会保存在缓存中,SQL只要有变化,就要重新解析。而"where p.id="+id的方式在id值发生改变得时候需要重新解析SQL,浪费时间。 2、尽量不要使 阅读全文
posted @ 2018-03-15 14:21 Foreordination 阅读(213) 评论(0) 推荐(0)
十六、JAVA基础(堆和栈)

摘要:一、堆和栈 堆和栈都是JAVA中的存储结构,也就是说,都是内存中存放数据的地方。 1、堆:(存放由new创建的对象和数组) 引用类型的变量,内存分配一般在堆上或者常量池(字符串常量,基本数据类型常量),需要通过new等方式来创建。 首先堆内存主要作用是存放运行时new的对象和数组,存取速度慢,可以运 阅读全文
posted @ 2018-03-15 11:00 Foreordination 阅读(153) 评论(0) 推荐(0)
十五、MVC的WEB框架(Structs2)

摘要:一、Structs标签 与JSTL标签库类似,Structs2也有专属标签库 常见的标签有:from,iterator,check,radio,select 1、form标签 用于提交数据 通过浏览器可以查看源码,structs2里的form标签被转化为了table 2、iterator标签 与JS 阅读全文
posted @ 2018-03-15 10:29 Foreordination 阅读(176) 评论(0) 推荐(0)
十四、MVC的WEB框架(Structs2)

摘要:一、Structs2中的Session 1、一个是传统的servlet包下的HttpSession,一个是Structs2中自己定义的Session Servlet下的Session获取方法:ServletActionContext.getRequest().getSession(),需要servl 阅读全文
posted @ 2018-03-14 17:25 Foreordination 阅读(174) 评论(0) 推荐(0)
十三、MVC的WEB框架(Structs2)

摘要:一、Structs2的应用 Structs2是基于MVC的WEB框架。一般基于框架的程序要运行成功,对于JAR包的版本,配置文件的正确性有着苛刻的要求,一个地方错了,都会导致框架程序运行出错。 1、首先在Eclipse创建一个动态web项目structs,使用dynamic web project的 阅读全文
posted @ 2018-03-14 16:57 Foreordination 阅读(413) 评论(0) 推荐(0)
十二、持久层框架(MyBatis)

摘要:一、PageHelper分页插件的使用 PageHelper是一款MyBatis的分页插件,只需要简单的配置,然后直接调用方法就可以。 1、配置PageHelper插件 在mybatis-config.xml中,配置如下 具体mybatis-config.xml如下: 2、使用PageHelper提 阅读全文
posted @ 2018-03-14 15:44 Foreordination 阅读(157) 评论(0) 推荐(0)
十一、持久层框架(MyBatis)

摘要:一、基于注解方式的CRUD 把xml方式的CRUD修改为注解方式 之前在xml中配置,是在<mapper></mapper>标签下写CRUD 1、因此要增加Mapper接口方式实现 比如要把之前映射文件Product.xml配置方式变成注解方式的,新建一个ProductMapper接口,并在接口中声 阅读全文
posted @ 2018-03-14 15:25 Foreordination 阅读(179) 评论(0) 推荐(0)
十、 持久层框架(MyBatis)

摘要:一、基于MyBatis动态SQL语句 1、if标签 实体类Product的字段比较多的时候,为了应付各个字段的查询,那么就需要写多条SQL语句,这样就变得难以维护。 此时,就可以使用MyBatis动态SQL里的if标签 这种写法,如果没有传递参数name,那么就查询所有,如果有name就进行模糊查询 阅读全文
posted @ 2018-03-09 11:37 Foreordination 阅读(171) 评论(0) 推荐(0)
九、持久层框架(MyBatis)

摘要:一、基于MyBatis的对象关系配置(基于XML方式的配置) 注: MyBatis不能像Hibernate那样,在实体类上配置上注解或者配置xml映射文件,系统启动后就可以自动创建表。因为MyBatis是基于SQL语句的方式来完成ORM映射的,不是像Hibernate那样将字段与属性完全映射出来,所 阅读全文
posted @ 2018-03-09 11:34 Foreordination 阅读(196) 评论(0) 推荐(0)
八、持久层框架(MyBatis)

摘要:一、基于MyBatis的CRUD 1、首先是配置文件Category.xml修改 一次性修改配置文件Category.xml,提供CRUD对应的sql语句。 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE mapper PUBLIC "-//myba 阅读全文
posted @ 2018-03-09 11:33 Foreordination 阅读(175) 评论(0) 推荐(0)
七、持久层框架(MyBatis)

摘要:一、MyBatis学习 平时我们都用JDBC访问数据库,除了自己需要写SQL,还要操作Connection,Statement,ResultSet这些。 使用MyBatis,只需要自己提供SQL语句,其他的工作,建立数据库连接,Statement等一些JDBC相关异常处理工作都交给了MyBatis去 阅读全文
posted @ 2018-03-09 11:30 Foreordination 阅读(201) 评论(0) 推荐(0)
六、持久层框架(Hibernate)

摘要:一、乐观锁 Hibernate使用乐观锁来处理脏数据问题。 比如有这样一个制造脏数据的场景: 1、通过session1得到id=1的对象product1 2、在product1原来的价格基础上增加100 3、更新product1之前,通过session2得到id=1的对象product2 4、在pr 阅读全文
posted @ 2018-03-09 09:43 Foreordination 阅读(123) 评论(0) 推荐(0)
五、持久层框架(Hibernate)

摘要:一、分页查询 使用Criteria进行分页查询,无论是使用Oracle,MySQL,NoSQL,DB2,分页查询的代码写法都相同。 分页查询代码示例: package com.demo.test; import java.util.List; import org.hibernate.Criteri 阅读全文
posted @ 2018-03-06 17:21 Foreordination 阅读(154) 评论(0) 推荐(0)
四、持久层框架(Hibernate)

摘要:一、一级缓存与二级缓存 1、一级缓存:Hibernate默认是开启一级缓存的,一级缓存存放在session里,一个Session做一次查询操作,会把这个操作的结果放在一级缓存中,如果短时间内这个session (同一个session)又做了同一个操作,那么hibernate直接从一级缓存中拿,而不用 阅读全文
posted @ 2018-03-06 16:49 Foreordination 阅读(196) 评论(0) 推荐(0)
三、持久层框架(Hibernate)

摘要:一、Hibernate处理关系 关系主要有三种:1、多对一 2、一对多 3、多对多 1、多对一 一个Product对应一个Category,一个Category对应多个Product(一个产品对应一个类别,一个类别对应多个产品) 也就是Product和Category是多对一的关系。(多个产品对应一 阅读全文
posted @ 2018-03-06 15:45 Foreordination 阅读(193) 评论(0) 推荐(0)
二、持久层框架(Hibernate)

摘要:一、Hibernate对象的状态 实体类对象在Hibernate中有3中状态:瞬时,持久,脱管。 瞬时:没有和Hibernate发生任何关系,在数据库中也没有对应的记录,一旦JVM结束,对象就消失了 持久:一个对象和Hibernate发生联系,有对应的Session,并且在数据库中有对应的一条记录 阅读全文
posted @ 2018-03-06 12:02 Foreordination 阅读(190) 评论(0) 推荐(0)
一、持久层框架(Hibernate)

摘要:一、Hibernate 使用JDBC做数据库相关功能开发会做很多重复性的工作,创建连接,关闭连接,把字段逐一映射到属性中等。Hibernate把这些进行封装起来,使得数据库访问变得轻松简单。 1、创建数据库,数据表 2、创建一个java project,然后倒入hibernate所以来的jar包 导 阅读全文
posted @ 2018-03-05 17:24 Foreordination 阅读(519) 评论(0) 推荐(0)
一、Redis的数据类型

摘要:一Redis的数据类型 string:字符串 hash:哈希 list:列表 set:集合 zset:有序集合(sorted set) 1、string(字符串) redis最基本的类型。可以理解成与Memcached一模一样的类型,一个key对应一个value string类型是二进制安全的,意味 阅读全文
posted @ 2018-03-05 16:11 Foreordination 阅读(131) 评论(0) 推荐(0)
一、Redis的学习

摘要:一、Redis的简介 Redis是一个高性能的key-value数据库,有点像一个hashmap。 Redis与其他非关系型数据库做缓存有下面几个特点: 1、Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启时可以再次加载进行使用 2、Redis不仅仅支持简单的key-value数据, 阅读全文
posted @ 2018-03-05 15:36 Foreordination 阅读(137) 评论(0) 推荐(0)
一、SQL应用(工作中遇到的根据表的某列的值不同,采用的不同列关联表)

摘要:一、工作总结: 今天工作中遇到了这样一个需求,具体是根据某张表的某一列值得不同,进行不同关联操作。起初自己的想法是采用UNION操作,把两种情况连接起来,但是会出现一个问题,当进行动态传值SQL拼接的时候,只能给最后面加,而不能给两种情况的结果集都动态拼接,导致查询结果和预期不一样。 自己的SQL语 阅读全文
posted @ 2018-03-02 14:22 Foreordination 阅读(298) 评论(0) 推荐(0)
一、J2EE

摘要:一、HTTP协议中的响应代码 响应代码从1xx--5xx一共有41中。常见的 404:表示访问的页面不存在。这表示一个浏览器的错误,就是服务端没有提供这个服务,你却去访问。这个锅要算在浏览器头上,而不能算在服务器头上。 当然,有的时候因为服务器没有配置这个路径,所以浏览器访问不到对应的资源。比如在w 阅读全文
posted @ 2018-03-01 10:07 Foreordination 阅读(140) 评论(0) 推荐(0)

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3