自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 软件架构设计原则

目录开闭原则开闭原则依赖倒置原则单一职责原则

2021-01-05 11:00:17 209 1

原创 JVM-Java虚拟机自动内存管理机制

JAVA与C/C++的区别之一,JAVA的内存交给JVM(JavaVirtual Machine)来管理。也就是说,JAVA中我们只需要创建一个对象(new),此时该对象已在内存中申请了一块空间,而这个空间何时被回收可分配,是由JVM来管理的,程序员不需要关心内存回收。 那么JAVA中把内存管理完全交给了虚拟机管理,我们还有必要学习JVM吗?答案是要的。学习JVM有利于我们编程时内存优化和上线后出现内存溢出/内存泄漏问题排查。JVM内存模型 JAVA运行时数据区分为五大区域...

2020-07-04 21:39:06 2819

转载 SQL性能优化

选择最有效率的表连接顺序SQL的语法顺序: select 【distinct】 ....from ....【xxx join】【on】....where....group by ....having....【union】....order by......SQL的执行顺序: from ....【xxx join】【on】....where....group by ....avg()、sum()....having....select 【distinct】....orde...

2020-06-05 16:56:03 254

原创 JAVA设计模式——装饰者模式学习笔记

装饰着模式(Decorator Partten):是一种对象结构模式,动态地给一个对象添加额外的职责,增加功能来说,装饰者比生成子类实现更加灵活。装饰者模式又叫包装模式,通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。为了让系统具有更好的灵活性和可扩展性,我们通常会定义一个抽象装饰类,而将具体的装饰类作为他的子类。装饰模式的核心在于抽象装饰类的设计。.下面是一...

2019-10-25 16:45:23 187 3

原创 JAVA设计模式——工厂模式学习心得

工厂模式是最常用的一类设计模式,我们平时所说的工厂模式一般指工厂方法模式,也是使用频率最高的一种工厂模式。工厂模式可以分为三种:简单工厂模式、工厂方法模式和抽象工厂模式。小弟 简单工厂模式(不属于GoF的23种设计) 咱们的工厂方法模式 大哥 抽象工厂模式 简单工厂模式(不属于GoF)定义一个工厂类,可以根据参数的不同返回不同的类型,被创建的实力通常具有共...

2019-09-23 17:21:54 837

原创 Dubbo框架学习笔记

Dubbo简介 Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。Dubbo架构节点角色说明节点 角色说明 Provider 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方 Registry 服务注册与发现的注册中心 M...

2019-09-05 09:35:50 1210

原创 malaganguo的踩坑合集

trap1. 下拉框无法赋值问题阐述:下拉框在初始化的时候需要发送ajax请求选项内容,操作中在发送请求后便往下拉框中赋值,实际上异步请求还没有执行完,所以初始化失败,下拉框中无法初始化值。解决办法:给下拉框加flag,在ajax请求完成以后再允许进行赋值、取值操作。Connection to @172.16.25.79 failed.[08006][1034] ORA-01034:...

2019-08-20 16:45:16 335

原创 SpringBoot学习笔记四——整合

SpringBoot连接数据库&整合MyBatis框架连接Oracle需要的依赖:<dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> version>11.2.0.1.0</version><...

2019-08-12 16:08:15 190

原创 RESTful实战笔记二——REST API设计

统一接口REST VS RPCREST使用HTTP协议的通用方法作为统一接口的词汇,方法信息都在HTTP方法里;RPC服务提供的方法信息在SOAP/HTTP信封里。REST方法设计HTTP请求方法可以从安全性和幂等性进行考虑:安全性:外系统对该接口的访问不会使服务器资源的状态发生改变;幂等性:外系统对统一REST接口访问得到的资源状态是相同的。方法名 幂等性...

2019-08-08 10:10:19 216

原创 RESTful实战笔记一——REST介绍及JERSEY快速体验

JAX-RS2入门解读REST (Representation State Transfer)表属性状态转移,六个特点:客户端-服务器的、无状态的、可缓存的、统一接口的、分层系统和按需编码。优势:跨平台、跨语言。 REST风格将对象视为一种资源(resource)。 REST资源可寻址: HTTP协议定义通用动词方法(GET、POST、D...

2019-08-07 16:19:35 411

原创 Git安装&配置&版本控制&github提交下载

git下载到官方网站下载,如果下载速度太慢,可以F12找到a标签的href复制到迅雷进行下载,其他外国软件均可参考这个步骤。##初始化git 我们默认安装的是linux命令的bash,所以适用所有linux命令。在初始化git时,我们首先选择本地仓库的文件夹,右键git bash进入bash页面,执行 git init 命令:执行完成后我们的GitTest文件夹中还是空的,我们执行...

2019-08-05 17:26:02 163

原创 记录一些与编程无关的技巧

浏览网页时模态框挡道不想操作怎么办?各种快捷键都无法逃脱登陆这一步进入正文啊,怎么办?控制台搞一搞F12进入控制台->删掉!!!删掉后就可以访问了~当你足够强大时才配拥有优秀的事物,否则只是徒伤悲。Chrome查看记录的密码chrome://settings/passwords?search=%E5%AF%86%E7%A0%81...

2019-07-29 19:06:24 137

原创 Oracle数据库学习笔记

Oracle数据库简介Oracle数据库以分布式数据库为核心,多用于企业级B/S、C/S架构软件中,性能稳定,安全性强,处理大量数据能力强,是具有完整的数据管理功能的关系型数据库。Oracle安装没有安装过Oracle,直接使用公司的数据库建立测试库。数据库可视化工具可以使用plSQL,也可以使用jetbrains出品的data grip。两个软件的安装过程这里忽略。Oracle体...

2019-07-19 10:37:17 905

原创 SpringBoot学习笔记三——web开发

web开发的入门就是helloworld案例。添加静态资源 静态资源比如js等,可以从https://www.webjars.org/查询webjars的maven依赖导入。可以看到,静态资源是存放在resources/webjars/目录下,我们在哪里存放自己的静态资源呢?在自动配置jar中找到ResourceProperties 类,该类中存在定义:pr...

2019-07-12 13:39:12 158

原创 阿里巴巴代码规范学习笔记

从啥时候开始很缺少上进心了,这里拷贝学习一下代码规范,以后也要规范自己啊~编程规约命名风格1. 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例:_name / __name / $name / name_ / name$ / name__2. 【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正...

2019-07-10 20:26:43 1490

原创 SpringBoot学习笔记二——日志使用

日志工具的出现是为了适应变化的日志记录需求,常用的日志工具有:JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j......日志类的使用可以通过对抽象类的实现来满足不同日志需求。通常,日志门面采用slf4j,日志实现采用logback、log4j或获log4j2。SpringBoot抛弃了Spring使用的传统JCL而选用较新的slf4j和...

2019-07-10 11:10:22 158

原创 SpringBoot学习笔记一——环境搭建&基础配置

官方网址:https://spring.io/projects/spring-boot/简介:Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".We take an opinionated view of...

2019-07-08 20:16:43 277

原创 CentOS6不能上网的问题

网上有大量的CentOS不能上文问题的解决博客,这里记录一下我遇到的问题:问题:1.物理机和虚拟机之间都可以ping通,物理上网上正常;2.虚拟机可以ping通IP,但不能ping通百度(定位为DNS的问题)。问题解决前的尝试:1.检查VM的虚拟网络编辑器当前虚拟网卡为NAT,关闭DHCP,IP、掩码、网关配置正确,DNS采用自动分配 -->修改DNS为114,重启虚拟机...

2019-06-01 23:49:30 508

原创 Linux的Shell编程入门

WHAT IS SHELL? Shell 是一个命令行解释器,为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。 Shell是一个功能强大的语言,易编写、易调试、灵活性强。是解释执行的脚本语言,在Shell中可以调用Linux命令。HELLOWORLD! Shell文件的后...

2019-05-31 22:04:50 162

原创 linux基础知识总结

今天学习一下开源、集成Unix的Linux操作系统基础知识。学习系统:CentOS。163提供CentOS下载地址:http://mirrors.163.com/centos/。学习环境:VMware + CentOS 6.10。此处省略1w字用户安装VMware和CentOS。可参考的CentOS分区: 安装VMtools: 在VMware工具栏中:虚拟...

2019-05-22 17:55:57 247

原创 JAVA设计模式——建造者模式学习心得

Builder模式:为了构造复杂的对象,提升代码的可读性以及可维护性而创造的一种设计模式,在安卓开发中使用很多。       在构造一个对象时一般有两种方法:           ①定义私有的成员变量,提供set/get方法;           ②定义多参数的有参构造器,通过有参构造实例化不同参数需求的对象。 有参构造的缺点很明显,在属性较多时需要提供大量有参构造,且可读...

2019-01-05 01:11:12 594 2

原创 Mybatis学习笔记&Spring整合

       mybatis是一个封装了jdbc的不完全的orm持久层框架,它使程序员只关注sql本身,而不需要关注创建连接、statement创建等重复操作,只要具有sql基础就可以上手。相对于hibernate,mybatis不能自动建表,但是可以直接编写sql语句灵活性好易于sql优化和维护。可见mybatis更擅长需求多变的场景,如互联网场景。创建mybatis项目      1....

2018-12-18 11:05:16 151

原创 Spring的控制反转和依赖注入

面向切面编程,横向编程思想,区别于传统的纵向提取思想,可以用代理思想理解。底层实现原理:动态代理。jdk动态代理(只能代理实现了接口的类)和Cglib动态代理(可代理没实现接口的类,生成子类对象)。具体选择哪种代理模式,Spring会根据是否实现接口来选择,底层自动切换。作用:对程序进行增强。在不修改源代码的情况下,AOP可以进行权限校验、日志记录、性能监控、事务控制。AOP思想是由A...

2018-11-26 00:01:05 113

原创 数组拼接|数字金额转英文

目录数字拼接数字金额转大写数字拼接数组长度不可变,集合长度可变。所以可以在底层使用集合的形式来定义一个方法,这个方法提供可变长度的数组,中间通过了集合的操作。import java.util.ArrayList;class ByteGroup { ArrayList<Byte> byteContainer = new ArrayList<Byte&gt...

2018-11-19 11:46:36 330

原创 Redis学习笔记

NoSQL     not only sql :泛指所有的非关系型数据库。NoSQL可以优化的需求:    1、对数据库高并发的读写需求    2、对海量数据的高效率存储和访问需求    3、对数据库的高可扩展性和高可用性的需求    4、灵活的数据模型,无需事先为存储的数据数据建立字段,随时可以存储自定义数据格式NoSQL类型数据库的产生就是为了解决大规模数据集合多重...

2018-11-11 14:05:51 132

原创 PageModel分页实体创建

以烂大街的商城项目为例介绍分页实体的成员定义: 首先需要创建一个list集合,可以使用ArrayList集合用来存储当前页中的商品信息。分页的参数:currentPageNum:当前页数,由用户指定。pageSize:一页的商品数量,我们直接给值就行了totalRecords:总记录数,从数据库中查询得到 计算出来的变量:totalPageNum:总分页数,使用...

2018-10-17 00:17:11 1628

原创 SQL基础练习

-- 创建数据库CREATE DATABASE 10_8;-- 查看当前数据库SELECT DATABASE();-- 使用数据库USE 10_8;-- 建表aCREATE TABLE a( id INT, sname VARCHAR(20), birthday DATE, gender VARCHAR(5), school VARCHAR(20));-- ...

2018-10-08 23:22:45 156

原创 归并排序问题代码

#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;void merge(int arr[], int L, int M, int R){ int LEFT_SIZE = M - L; int RIGHT_SIZE = R - M + 1; int left[LEFT_SIZE]; int right[RIGHT...

2018-09-05 22:37:35 163

原创 Spring4入门&常用配置

1.下载Spring的压缩文件解压dist:/docs中是Spring的文档,lib中有Spring的各种功能的jar包包含文档jar包和源文件jar包。由图可知:Spring的核心包括beans、core、context、spEL。环境配置:在/libs中找到对应的jar包放到项目的/lib中还需要导入日志的包,在依赖库中找:Spring叫做EE开...

2018-09-05 20:42:40 231

转载 myEclipse 导入 jquery包为什么会报错

MyEclipse提供比较严谨的js校验功能,因此ExtJs、jQuery等前端框架导入到MyEclipse后均会提示错误,只需将校验去掉即可方法一:1、在MyEclipse选择菜单栏window2、选择preferences3、左侧菜单树中展开myeclipse4、选择下面的validation5、将右侧表格中javascript validator for Js files 把Bu...

2018-08-30 11:51:24 209

原创 Hibernate详解HQL_QBL查询

Hibernate的查询方式Hibernate提供了5种查询方式:1.OID查询根据对象OID(主键)进行检索,使用get方法;使用load方法。2.对象导航查询根据一个已查询到的对象,获得关联对象。LinkMan linkMan = session.get(LinkMan.class, 1l);Customer customer = linkMan.getCustom...

2018-08-29 16:56:28 330

原创 hibernate表操作&多对多关系学习笔记

Hibernate一对多关联映射CREATE TABLE `cst_customer` ( `cust_id` BIGINT(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)', `cust_name` VARCHAR(32) NOT NULL COMMENT '客户名称(公司名称)', `cust_source` VARCHAR(32)...

2018-08-28 16:18:19 469

原创 JAVA设计模式——单例模式学习心得

   单例:保证一个类只有一个实例,并提供一个访问的全局访问点。保证定义的类只能new出一个对象(实例),满足于一些只允许实例化一次的场景。一个简单的单例模式需要:1.对无参构造私有化;2.提供公共方法,在当前类没有实例时创建实例,有实例则返回实例。单例模式分为:懒汉模式(饱汉模式)和饿汉模式。 饱汉式的特点:用的时候再new,是线程不安全的。public...

2018-08-27 22:03:06 376

原创 hibernate的主键生成策略&一级缓存&事务管理学习笔记

持久化持久化:将内存中的一个对象持久化到数据库的过程。Hibernate框架就是用来持久化的框架。持久化类:一个java对象与数据表建立了映射关系,那么这个类在Hibernate中称为持久化类。   持久化类= java类  +   映射文件持久化类的编写规则1.提供无参构造                                                      ...

2018-08-24 14:02:15 321

原创 事务&数据库连接池

事务Transaction事务是指一组操作,里面包含许多单一的逻辑。只要一个逻辑没有执行成功,那么就算失败。所有的数据都回归到最初的状态(回滚)。事务是为了确保逻辑的成功。这在转账交易中尤为重要,可以解决转方账户余额已变化而由于外因导致的收方余额没有变化的情况。我们安装的数据库管理系统默认执行一条语句后自动提交事务。进入数据库输入下面语句可以看到自动提交默认为“ON”状态。关闭...

2018-08-24 12:26:24 1444 1

原创 Hibernate的环境搭建、API、CRUD学习笔记

什么是hibernate?Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Se...

2018-08-23 23:48:12 141

原创 eclipse写xml文件没有提示的解决参考

以hibernate框架的hibernate-mapping的dtd约束为例,介绍如何引入提示:首先在xml文件中引入约束:&lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-m...

2018-08-23 09:47:29 8542 1

原创 strut2拦截器&标签库学习笔记

拦截器interceptor(拦截器):拦截action,类似过滤器filter。区别:过滤器:过滤从客户端向服务器发送的请求或拦截从服务器端向客户端的响应。拦截器:拦截客户端对action的访问。所以不能拦截jsp和html,可以拦截到action中具体的方法。拦截器的地位:strut2框架的核心功能都是依赖拦截器实现的。那么怎么执行的呢?在com.opensymphon...

2018-08-19 16:41:45 163

原创 OGNL表达式学习笔记

OGNL表达式是一个独立的语言,strut2将其引入共同构造struts2。OGNL语言强大于EL表达式,其可以访问java类中的对象,也可以访问对象的静态方法。public class OgnlDemo1 { @Test public void test1() throws OgnlException{ OgnlContext context = new OgnlContex...

2018-08-17 21:30:38 2073

转载 揭开Java IO流中的flush()的神秘面纱

前言:大家在使用Java IO流中OutputStream、PrintWriter ……时,会经常用到它的flush()方法。一.为什么要flush:与在网络硬件中缓存一样,流还可以在软件中得到缓存,即直接在Java代码中缓存。这可以通过BufferedOutputStream或BufferedWriter 链接到底层流上来实现。因此,在写完数据时,flush就显得尤为重要。例...

2018-08-14 14:24:07 228

java判断一个字符串是否对称

自己编的java判断一个字符串是否对称的,忘指导。判断一个字符串是否是对称字符串(方法改进) (一个一个比较) 例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串

2018-04-27

空空如也

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

TA关注的人

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