- 博客(37)
- 资源 (4)
- 收藏
- 关注
原创 使用Gradle构建SpringBoot工程系列:第八篇:使用spring-data-jpa 实现数据持久化
本篇文章是SpringBoot 系列文章的第八篇文章,由于本人工作原因,中断了一段时间,接下来的一段时间里,将陆续更新本系列的其他文章,回归Spring Boot技术体系,记录本人学习和使用Gradle构建spring Boot工程的过程、技术要点以及在过程中遇到的各种问题,欢迎广大程序猿共同关注学习,也欢迎大家提出自己的宝贵意见,知识在交流中碰撞,技术在交流中提升! Spring Data ...
2018-07-28 00:03:50 3927
转载 深入Java(二):Java中的强引用、软引用、弱引用、幻像引用( 虚引用)
在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用;Java中根据其生命周期的长短,将引用分为4类。1 强引用特点:我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。 当JVM内存空间不足,JVM宁愿抛出OutOfMemoryError运行时错误(OOM),使程序异常终止,也不会靠随意回收具...
2018-05-17 22:38:30 514 1
转载 MySQL优化(四):特定类型查询优化
特定类型查询优化优化COUNT()查询COUNT()可能是被大家误解最多的函数了,它有两种不同的作用,其一是统计某个列值的数量,其二是统计行数。统计列值时,要求列值是非空的,它不会统计NULL。如果确认括号中的表达式不可能为空时,实际上就是在统计行数。最简单的就是当使用COUNT(*)时,并不是我们所想象的那样扩展成所有的列,实际上,它会忽略所有的列而直接统计行数。我们最常见的误解也就在这儿,在括...
2018-05-13 12:06:50 653
转载 MySQL优化(三):索引原理及索引优化
创建高性能索引索引是提高MySQL查询性能的一个重要途径,但过多的索引可能会导致过高的磁盘使用率以及过高的内存占用,从而影响应用程序的整体性能。应当尽量避免事后才想起添加索引,因为事后可能需要监控大量的SQL才能定位到问题所在,而且添加索引的时间肯定是远大于初始添加索引所需要的时间,可见索引的添加也是非常有技术含量的。接下来将向你展示一系列创建高性能索引的策略,以及每条策略其背后的工作原理。但在此...
2018-05-13 12:03:05 2059
转载 MYSQL优化(二):查询优化
本篇接上一篇 MYSQL优化(一):MySQL 查询过程、查询缓存及 SQL_CACHE与SQL_NO_CACHE的用法关于mysql查询过程可参考上篇文章语法解析和预处理MySQL通过关键字将SQL语句进行解析,并生成一颗对应的解析树。这个过程解析器主要通过语法规则来验证和解析。比如SQL中是否使用了错误的关键字或者关键字的顺序是否正确等等。预处理则会根据MySQL规则进一步检查解析树是否合法。...
2018-05-13 11:55:29 599 1
转载 MyBatis中开启查询缓存及flushCache与useCache的使用
MyBatis中开启缓存及flushCache与useCache的使用转自:http://blog.csdn.net/ssssny/article/details/52248960 在MyBatis的XML文件中可以<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD...
2018-05-13 11:37:12 35041 2
转载 MYSQL优化(一):MySQL 查询过程、查询缓存及 SQL_CACHE与SQL_NO_CACHE的用法
MySQL查询缓存在解析一个查询语句前,如果查询缓存是打开的,那么MySQL会检查这个查询语句是否命中查询缓存中的数据。如果当前查询恰好命中查询缓存,在检查一次用户权限后直接返回缓存中的结果。这种情况下,查询不会被解析,也不会生成执行计划,更不会执行。MySQL将缓存存放在一个引用表(不要理解成table,可以认为是类似于HashMap的数据结构),通过一个哈希值索引,这个哈希值通过查询本身、当前...
2018-05-08 17:21:55 6235 3
原创 深入Java(一):Java平台概况总结,话题:“Java 是解释执行”吗?
工作之余,研读了周志明先生的《深入理解Java虚拟机》一书,同时也翻阅了一些前辈大咖总结出来的相关文章,针对一些相关问题,反问自己的时候却发现,其实自己的知识是也是相对零散的,知其然,却并不知其所以然,一名好的开发者,应该是一名技术的布道者,能够推进技术的发展前行,所以本着这样的态度,从本篇文章开始,将陆续更新本人关于Java的相关知识理解和总结,希望有幸阅读此文的技术同僚们,能够不吝赐教。话题:...
2018-05-05 22:37:45 402
原创 MySQL 日常笔记: 行级锁、表级锁、索引锁
由于最近在做业务数据分析,以及一些相对高频的数据操作逻辑,过程中发现对于一些概念上的东西并不是很清晰,导致在程序上遇到了一些关于数据加锁的相关问题,所以这里针对所查阅的相关资料做一下总结和整理,提供给大家留作参考,也给本人做个笔记,学无止境,欢迎批评指正 MySQL的两个存储引擎中,MyISAM 只支持表级锁,InnerDB支持行级锁 添加了(行级锁/表级锁)锁的数据不能被其它事务再锁定,也不被其...
2018-04-25 23:11:19 3914 1
原创 Java多线程 synchronized关键字 使用方法 详解
最近在看Java 生产者与消费者 设计模式,看到有关synchronized 代码块的位置发现 ,有关synchronized的加锁范围还存在盲区,所以查看了很多相关博客,只有这一篇写的比较全面仔细,所以转载下来留作参考 ,原文地址:http://www.importnew.com/21866.htmlsynchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种:1. 修饰...
2018-04-22 00:12:00 227
原创 使用Gradle构建SpringBoot工程系列:第七篇:使用spring-boot-devtools开启热部署
本篇是 使用Gradle 构建spring Boot工程系列 的第七篇,接下来的一段时间里,将陆续更新本系列的其他文章,记录本人学习使用Gradle构建spring Boot工程的过程、技术要点以及在过程中遇到的各种问题,欢迎广大程序猿共同关注学习,也欢迎大家灌水拍砖,提出自己的宝贵意见,知识在交流中碰撞,技术在交流中提升! 在进行接下来的相关功能引入的过程中,我们将对我...
2017-08-16 23:47:43 3644
原创 使用Gradle构建SpringBoot工程系列:第六篇:SpringBoot 替换Tomcat为Jetty或UnderTow
本篇是 使用Gradle 构建spring Boot工程系列 的第六篇,接下来的一段时间里,将陆续更新本系列的其他文章,记录本人学习使用Gradle构建spring Boot工程的过程、技术要点以及在过程中遇到的各种问题,欢迎广大程序猿共同关注学习,也欢迎大家灌水拍砖,提出自己的宝贵意见,知识在交流中碰撞,技术在交流中提升! 通过上一篇的介绍,我们知道Spring Boot中会默认内嵌Tomc
2017-06-28 00:26:26 8628 1
原创 使用Gradle构建SpringBoot工程系列:第五篇:编写Spring Boot主类及第一次运行
本篇是 使用Gradle 构建spring Boot工程系列 的第五篇,接下来的一段时间里,将陆续更新本系列的其他文章,记录本人学习使用Gradle构建Spring Boot工程的过程、技术要点以及在过程中遇到的各种问题,欢迎广大程序猿共同关注学习,也欢迎大家灌水拍砖,提出自己的宝贵意见,知识在交流中碰撞,技术在交流中提升! 本篇文章的项目源码:本篇主要内容: 1) 创建并配置S...
2017-06-19 01:08:09 3164
原创 使用Gradle构建SpringBoot工程系列:第四篇:项目初始化(编辑build.gradle文件,引入项目基本配置及依赖)
本篇是 使用Gradle 构建spring Boot工程系列 的第四篇,接下来的一段时间里,将陆续更新本系列的其他文章,记录本人学习使用Gradle构建Spring Boot工程的过程、技术要点以及在过程中遇到的各种问题,欢迎广大程序猿共同关注学习,也欢迎大家灌水拍砖,提出自己的宝贵意见,知识在交流中碰撞,技术在交流中提升! 在本篇文章中,我们对我们的项目进行初始化,引入我们的项目基本配置,以及项
2017-06-12 00:36:02 5345
原创 使用Gradle构建SpringBoot工程系列:第一篇:Gradle及SpringBoot简介
为什么应该选择 Gradle: Gradle的座右铭“让不可能成为可能,让可能变得简单,让简单变得优雅”(适当引用 Moshe feldenkrais ) 如果你是一个开发者,那么自动化项目就是你日常开发的一部分。难道你就不想把构建代码看作和其他软件代码一样,让它能够被扩展、测试和维护吗?让我们把软件工程搬回到构建中。 Gradle构建脚本是声明式的、可读的,并且清晰地表达它们的意图。用 Gro
2017-06-08 01:14:39 2172
原创 使用Gradle构建SpringBoot工程系列:第三篇 创建Spring Boot项目
创建项目之前需要现在Eclipse中安装gradle插件,安装方法可以参考相关博客,这里我们直奔主题。 第一步,创建Gradle项目: Simple project 我们选择 Java QuickStart,其他保持默认, 点击确定,生成的项目结构如下: 这里对项目结构做一下介绍: src/main/java:为我们项目的主目录的类文件,包含我们Controller及Se
2017-06-07 00:50:14 4715 1
原创 使用Gradle构建SpringBoot工程系列:第二篇:开发环境准备
本篇是 使用Gradle 构建Spring Boot工程系列 的第一篇文章,接下来的一段时间里,将陆续更新本系列的其他文章,记录在使用Gradle构建Spring Boot工程过程中技术要点以及遇到和可能遇到的各种问题,欢迎广大程序猿关注学习,也欢迎大家灌水拍砖,提出自己的宝贵意见,知识在交流中碰撞,技术在交流中提升! 言归正传,我们进入文章主题: 由于我们需要用到Gradle,所以
2017-06-05 01:09:40 854
原创 Tomcat或Tomcat插件启动不了 [Eclipse中通过Debug模式启动Tomcat,导致Eclipse卡死]终极解决方案
Eclipse Debug Tomcat
2017-04-11 20:55:04 2909
转载 Cron 表达式入门
cron表达式,主要用于定时作业(定时任务)系统定义执行时间或执行频率的表达式,有专门的语法,简单来说,大家记住一些常用的用法即可,特殊的语法可以单独去查。 cron一共有7位,但是最后一位是年,可以留空,所以我们可以写6位:* 第一位,表示秒,取值0-59* 第二位,表示分,取值0-59* 第三位,表示小时,取值0-23* 第四位,日期天/日,取值1-31* 第五位,日期月份,取值1-1
2017-03-12 23:24:27 1495
原创 Python安装常见问题(1):zipimport.ZipImportError: can't decompress data
在CentOS以及其他的Linux系统中遇到安装包安装错误的原因,大多数都是因为缺少依赖包导致的,所以对于错误:zipimport.ZipImportError: can’t decompress data,是因为缺少zlib 的相关工具包导致的,知道了问题所在,那么我们只需要安装相关依赖包即可, 1、打开终端,输入一下命令安装zlib相关依赖包: yum -y install zli
2017-01-14 23:16:14 116939 11
原创 CentOS6.5 安装Python3.6 (一个小白的安装过程全纪录!)
本人Python小白,这是本人学习Python的开始,对于新技术本人一贯于直接上手去做,然后在做的过程中去学习和查阅相关资料,因为经验的积累在于处理做的过程中的遇到的各种问题,在学习阶段遇到的问题越多,就能在以后的实际应用中少走弯路,本篇文章也是本人在安装Python过程中查阅了很多网上文章的经过实际操作总结的一个完整的过程,大家可直接按照我的过程去做,也许技术大牛有很多,所以很多文章总喜欢东一嘴西
2017-01-14 22:41:16 28301 6
原创 深入JVM(Java虚拟机)(一)Java虚拟机内存区域划分
本文为博主参阅自《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》,书中的全部讲解均以《Java虚拟机规范(Java SE 7)》为依据 图一中为JVM规范中对java虚拟机内存区域的划分及定义,为单线程时的粗略划分图二,中所绘为JVM在多线程情况下运行时的各区域间关系,1、Java堆在Java虚拟机中,堆是可供各个线程共享的运行时内存区域,也是供所有
2016-08-01 22:27:16 1663
原创 web容器中web.xml中Servlet、Filter、context-param、listener的加载顺序
web容器在启动web项目的时候,会根据项目中的web.xml配置文件进行项目的初始化操作,通过对web容器的源码分析和项目实践,我们可以大致得出以下加载顺序:1)、加载,(多个context-param的加载顺序由容器自行决定,可以认为是自上而下,但有待于考证)根据配置信息,初始化上下文信息(ServletContext),因为上下文信息在整个容器中会被servlet、filter、li
2016-04-21 23:22:14 2407
原创 完美解决MySQL安装后无法远程连接的问题
最近楼主在历尽千辛万苦安装完MySQL后,发现居然不能远程登录,只能在本机通过"localhost“ 登录 ,在多方查找资料后发现,其实是MySQL默认的安装配置,只允许本地连接的原因,说到底,还是配置的问题,搞技术的我们都知道,能通过配置解决的问题就都不是问题了!下面是楼主替大家从多方资料中,搜集到并亲测有效的解决方案:第一步,在你的服务器上通过命令行或链接工具登录mysql,如果你急于
2016-04-16 11:21:07 11619 2
转载 JS中的!=、== 、!==、===的用法和区别。
JS中的!=、== 、!==、===的用法和区别。1234567891011121314151617181920var num = 1; var str
2016-03-03 10:46:41 416 1
转载 NodeJs应用场景【学习路线图】
Nodejs学习路线图 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎。chrome浏览器就基于V8,同时打开20-30个网页都很流畅。Nodejs标准的web开发框架Express,可以帮助我们迅速建立web站点;
2016-01-26 21:36:24 10536 2
转载 Nginx简介及使用Nginx实现负载均衡的原理【通俗易懂,言简意赅】
nginx 这个轻量级、高性能的 web server 主要可以干两件事情: 〉直接作为http server(代替apache,对PHP需要FastCGI处理器支持); 〉另外一个功能就是作为反向代理服务器实现负载均衡 以下我们就来举例说明如何使用 nginx 实现负载均衡。因为nginx在处理并发方面的优势,现在这个应用非常常见。当然了Apache的 mod_proxy和mod
2016-01-15 10:50:07 66696 5
原创 解决运行java application时提示Could not find the main class.Program will exit.问题
解决运行java application时提示Could not find the main class.Program will exit.问题: 以Java Application的方式运行java类的时候,有时会提示Could not find the main class.Program will exit,遇到这样的情况,一般有如下几种原因和解决方式:一、Java类中
2016-01-08 10:11:28 18610
原创 Oracle将已有数据的表改为分区表【创建表分区、索引分区】
--我们以为Scada_data表建立分区为例,以下是为scada_data表加表分区【范围分区】的全过程-- 创建临时表create table scada_data_temp( scadad_id VARCHAR2(20) not null primary key, node_id VARCHAR2(20) not null,
2015-12-30 10:11:43 13795 1
翻译 Java和Jsp中获取类所在路径(绝对路径、相对路径)的几种方法
Java和Jsp中获取类所在路径(绝对路径、相对路径)的几种方法一、在Java中获取路径:1、File directory = new File("");//当前路径,如果在Java项目中可以获得项目的根目录(一般指src) System.out.println(directory.getCanonicalPath());//获取标准的路径 (具体获得的路径根据系统会有所差异)
2015-11-02 23:51:35 2124
转载 Oracle数据库创建表空间、用户及数据的导入、导出【源自于实战】
【第一部分:创建表空间及用户】 /*第1步:选择数据文件存储的位置,创建存储路径,这里以“D:\oracle\tablespace\”为例,创建临时表空间 */ create temporary tablespace user_temp tempfile 'D:\oracle\tablespace\user_temp.dbf' size 50m autoexte
2015-10-29 23:37:18 765
转载 Java 对类中的属性使用set/get方法的意义和用法
java 中对类中的属性使用set/get方法的意义和用法经常看到有朋友提到类似:对类中的属性使用set/get方法的作用?理论的回答当然是封闭性之类的,但是这样对我们有什么作用呢?为什么要这样设计?我直接使用属性名来访问不是更直接,代码更简洁明了吗?下面我们就来介绍下为什么要使用set/get方法来代替直接访问属性。1.灵活性比如我们有一个Person类,
2015-10-27 21:29:21 46380 19
转载 Oracle中创建dblink的方法
Oracle中创建dblink的方法 当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。下面讲介绍如何在本地数据库中创建dblink. 创建dblink一般有两种方式,不过在创建dblink之前用户必须有创建dblink的权限。想知道有关dblink的权限
2015-10-16 09:28:49 539
转载 【Github教程】:github入门到精通
【初识Github】 首先让我们大家一起喊一句“Hello Github”。YEAH!就是这样。Git是一个分布式的版本控制系统,
2015-10-15 11:13:13 466
原创 在mac上安装gradle(超详细,直接按步骤操作即可轻松搞定)
在mac上安装gradle(超详细,直接按步骤操作即可轻松搞定)第一步, 就是先download最新版本的gradle,网址如下:http://gradle.org/gradle-download/然后将下载下来的zip包放解压到本地任意的路径上,例如,我本地则安装在/Users/zhangpeng/gradle-2.7 1、打开Mac上
2015-10-08 23:14:45 63678 5
原创 Spring MVC 常用Jar包官方下载地址(官方Maven仓库)
spring:http://maven.springframework.org/release/org/springframework/spring/jackson:http://repo1.maven.org/maven2/com/fasterxml/jackson/core/ (为实现前后台传递json数据)commons logging:http://commons.apache.
2015-10-04 09:14:17 17040 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人