摘要:
前两天在网上看到一条信息:枚举比静态常量更占用空间。 这是真的吗? 前言 枚举 枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。 枚举实现原理 阅读全文
前两天在网上看到一条信息:枚举比静态常量更占用空间。 这是真的吗? 前言 枚举 枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。 枚举实现原理 阅读全文
posted @ 2022-09-20 18:23
leepandar
阅读(251)
评论(0)
推荐(0)
摘要:
Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 Spring Boot特点 创建独立的Spring应用程序 嵌入的Tomc 阅读全文
Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 Spring Boot特点 创建独立的Spring应用程序 嵌入的Tomc 阅读全文
posted @ 2022-09-20 18:21
leepandar
阅读(252)
评论(0)
推荐(0)
摘要:
一、什么是反射? JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 简单的来说: 1.通过new关键字创建对象操作对象,在编译时就已经确定。 2.通 阅读全文
一、什么是反射? JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 简单的来说: 1.通过new关键字创建对象操作对象,在编译时就已经确定。 2.通 阅读全文
posted @ 2022-09-20 18:04
leepandar
阅读(96)
评论(0)
推荐(0)
摘要:
前言 先来看一个double失真的例子 public class DoubleTest { public static void main(String[] args) { for (double i = 0; i < 1; i = (i * 10 + 1) / 10) { for (double 阅读全文
前言 先来看一个double失真的例子 public class DoubleTest { public static void main(String[] args) { for (double i = 0; i < 1; i = (i * 10 + 1) / 10) { for (double 阅读全文
posted @ 2022-09-20 18:03
leepandar
阅读(171)
评论(0)
推荐(0)
摘要:
公司的小程序项目上线, 后期还会有小型的版本迭代. 为了让用户能在我们进行版本迭代后及时使用最新版本的功能. 做了以下优化.. 小程序的销毁 当用户点击左上角关闭,或者按了设备Home 键离开微信,小程序并没有直接销毁,而是进入了后台; 当再次进入微信或再次打开小程序,又会从后台进入前台,只有当小程 阅读全文
公司的小程序项目上线, 后期还会有小型的版本迭代. 为了让用户能在我们进行版本迭代后及时使用最新版本的功能. 做了以下优化.. 小程序的销毁 当用户点击左上角关闭,或者按了设备Home 键离开微信,小程序并没有直接销毁,而是进入了后台; 当再次进入微信或再次打开小程序,又会从后台进入前台,只有当小程 阅读全文
posted @ 2022-09-20 17:58
leepandar
阅读(322)
评论(0)
推荐(0)
摘要:
Java中对象的创建 使用new操作符创建一个对象 使用clone方法复制一个对象 两种方式的异同 new操作符的本意是分配内存。程序执行到new操作符时, 首先去看new操作符后面的类型,因为知道了类型,才能知道要分配多大的内存空间。分配完内存之后,再调用构造函数,填充对象的各个域,这一步叫做对象 阅读全文
Java中对象的创建 使用new操作符创建一个对象 使用clone方法复制一个对象 两种方式的异同 new操作符的本意是分配内存。程序执行到new操作符时, 首先去看new操作符后面的类型,因为知道了类型,才能知道要分配多大的内存空间。分配完内存之后,再调用构造函数,填充对象的各个域,这一步叫做对象 阅读全文
posted @ 2022-09-20 17:56
leepandar
阅读(641)
评论(0)
推荐(0)
摘要:
使用IDEA时,启用了阿里的代码规范检查,其中就有一项提示是不允许任何魔法值出现在代码里,于是出于好奇就了解一下到底啥时魔法值。 介绍 魔法数值、魔法数字、魔法值,这是一个东西,不同的叫法。 所谓魔法值,是指在代码中直接出现的数值,只有在这个数值记述的那部分代码中才能明确了解其含义。 看一段代码 / 阅读全文
使用IDEA时,启用了阿里的代码规范检查,其中就有一项提示是不允许任何魔法值出现在代码里,于是出于好奇就了解一下到底啥时魔法值。 介绍 魔法数值、魔法数字、魔法值,这是一个东西,不同的叫法。 所谓魔法值,是指在代码中直接出现的数值,只有在这个数值记述的那部分代码中才能明确了解其含义。 看一段代码 / 阅读全文
posted @ 2022-09-20 17:55
leepandar
阅读(484)
评论(0)
推荐(0)
摘要:
Controller @RestController @RequestMapping("/web") public class MapKeyTest { @Autowired private InvoicingBuyOrderService invoicingBuyOrderService; @Ge 阅读全文
Controller @RestController @RequestMapping("/web") public class MapKeyTest { @Autowired private InvoicingBuyOrderService invoicingBuyOrderService; @Ge 阅读全文
posted @ 2022-09-20 17:54
leepandar
阅读(434)
评论(0)
推荐(0)
摘要:
RSA 加密原理 | 步骤| 说明| 描述|备注| | | | | | |1| 找出质数| P 、Q| -| |2 | 计算公共模数| N = P * Q| -| |3| 欧拉函数| φ(N) = (P-1)(Q-1)| -| |4| 计算公钥E| 1 < E < φ(N)| E的取值必须是整数E 阅读全文
RSA 加密原理 | 步骤| 说明| 描述|备注| | | | | | |1| 找出质数| P 、Q| -| |2 | 计算公共模数| N = P * Q| -| |3| 欧拉函数| φ(N) = (P-1)(Q-1)| -| |4| 计算公钥E| 1 < E < φ(N)| E的取值必须是整数E 阅读全文
posted @ 2022-09-20 17:53
leepandar
阅读(50)
评论(0)
推荐(0)
摘要:
这是由于上传文件过大引起的。 代码检查 如果是springmvc的框架,用mutipartFile上传的文件,先检查配置文件中的最大上传文件胆小。 spring-mvc.xml <!-- 上传文件拦截,设置最大上传文件大小 10M=10*1024*1024(B)=10485760 bytes 和编码 阅读全文
这是由于上传文件过大引起的。 代码检查 如果是springmvc的框架,用mutipartFile上传的文件,先检查配置文件中的最大上传文件胆小。 spring-mvc.xml <!-- 上传文件拦截,设置最大上传文件大小 10M=10*1024*1024(B)=10485760 bytes 和编码 阅读全文
posted @ 2022-09-20 17:53
leepandar
阅读(603)
评论(0)
推荐(0)
摘要:
1、Xshell 5 为了方便管理操作服务器,这里采用 xshell 5 来连接服务器,使用ssh证书,端口号 22,对于购买的与主机需要开放相应的端口。 如下是连接成功的提示: [c:\~]$ open Connecting to 115.159.200.102:22... Connection 阅读全文
1、Xshell 5 为了方便管理操作服务器,这里采用 xshell 5 来连接服务器,使用ssh证书,端口号 22,对于购买的与主机需要开放相应的端口。 如下是连接成功的提示: [c:\~]$ open Connecting to 115.159.200.102:22... Connection 阅读全文
posted @ 2022-09-20 17:52
leepandar
阅读(160)
评论(0)
推荐(0)
摘要:
相关资料: 廖雪峰教程链接 Git远程操作详解 Git查看、删除、重命名远程分支和tag 操作流程 日常使用git更新提交代码的一般流程是这样的: 在对代码进行了一些修改之后,使用:git add .或git add -A(git add --all的缩写)将本地所有新增文件添加进版本库。 使用:g 阅读全文
相关资料: 廖雪峰教程链接 Git远程操作详解 Git查看、删除、重命名远程分支和tag 操作流程 日常使用git更新提交代码的一般流程是这样的: 在对代码进行了一些修改之后,使用:git add .或git add -A(git add --all的缩写)将本地所有新增文件添加进版本库。 使用:g 阅读全文
posted @ 2022-09-20 17:52
leepandar
阅读(36)
评论(0)
推荐(0)
摘要:
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发 阅读全文
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发 阅读全文
posted @ 2022-09-20 17:50
leepandar
阅读(248)
评论(0)
推荐(0)
摘要:
TTPS 是安全套接字层超文本传输协议,在http 的基础上加入了 SSL协议,需要使用证书来校验身份。 HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。其默认端口为:443。越来越多的网站使用了https,这里简介其相关配置。 一、使用jdk创建 阅读全文
TTPS 是安全套接字层超文本传输协议,在http 的基础上加入了 SSL协议,需要使用证书来校验身份。 HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。其默认端口为:443。越来越多的网站使用了https,这里简介其相关配置。 一、使用jdk创建 阅读全文
posted @ 2022-09-20 17:47
leepandar
阅读(3507)
评论(0)
推荐(0)
摘要:
最近需要做一个省市联动的地图,来随时观看各地区的用户数量。 记录实现代码。 主页面china.html: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content=" 阅读全文
最近需要做一个省市联动的地图,来随时观看各地区的用户数量。 记录实现代码。 主页面china.html: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content=" 阅读全文
posted @ 2022-09-20 17:44
leepandar
阅读(305)
评论(0)
推荐(0)
摘要:
1.创建springboot项目 package com.test.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.Ge 阅读全文
1.创建springboot项目 package com.test.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.Ge 阅读全文
posted @ 2022-09-20 17:43
leepandar
阅读(90)
评论(0)
推荐(0)
摘要:
Java 虚拟机中的类加载即从 class 文件到内存中的类,按先后顺序需要经过加载、链接以及初始化三大步骤。 虚拟机的加载对象是什么? 上文中说过Java中有两种类型:基本类型和引用类型,而基本类型是由虚拟机预先定义好的,引用类型中的泛型参数又会在编译过程中被擦除,所以加载的对象就剩下类、接口和数 阅读全文
Java 虚拟机中的类加载即从 class 文件到内存中的类,按先后顺序需要经过加载、链接以及初始化三大步骤。 虚拟机的加载对象是什么? 上文中说过Java中有两种类型:基本类型和引用类型,而基本类型是由虚拟机预先定义好的,引用类型中的泛型参数又会在编译过程中被擦除,所以加载的对象就剩下类、接口和数 阅读全文
posted @ 2022-09-20 17:41
leepandar
阅读(127)
评论(0)
推荐(0)
摘要:
错误 ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggreg 阅读全文
错误 ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggreg 阅读全文
posted @ 2022-09-20 17:40
leepandar
阅读(279)
评论(0)
推荐(0)
摘要:
Java 中 IO 流分为几种? 按照流的流向分,可以分为输入流和输出流; 按照操作单元划分,可以划分为字节流和字符流; 按照流的角色划分为节点流和处理流。 Java Io 流共涉及 40 多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧密的联系, Java I0 流的 40 多 阅读全文
Java 中 IO 流分为几种? 按照流的流向分,可以分为输入流和输出流; 按照操作单元划分,可以划分为字节流和字符流; 按照流的角色划分为节点流和处理流。 Java Io 流共涉及 40 多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧密的联系, Java I0 流的 40 多 阅读全文
posted @ 2022-09-20 17:39
leepandar
阅读(47)
评论(0)
推荐(0)
摘要:
if标签语法 <select...> SQL语句1 <if test="条件表达式"> SQL语句2 </if> </select> 条件表达式中大于号小于号用 gt,lt <if test="num gt 0">...</if> <if test="num lt 0">...</if> mappe 阅读全文
if标签语法 <select...> SQL语句1 <if test="条件表达式"> SQL语句2 </if> </select> 条件表达式中大于号小于号用 gt,lt <if test="num gt 0">...</if> <if test="num lt 0">...</if> mappe 阅读全文
posted @ 2022-09-20 17:38
leepandar
阅读(156)
评论(0)
推荐(0)
摘要:
开发环境:开发环境是程序猿们专门用于开发的服务器,配置可以比较随意, 为了开发调试方便,一般打开全部错误报告。 测试环境:一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产机上。 生产环境:是指正式提供对外服务的,一般会关掉错误报告,打开错误日志。可以理解为包含所 阅读全文
开发环境:开发环境是程序猿们专门用于开发的服务器,配置可以比较随意, 为了开发调试方便,一般打开全部错误报告。 测试环境:一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产机上。 生产环境:是指正式提供对外服务的,一般会关掉错误报告,打开错误日志。可以理解为包含所 阅读全文
posted @ 2022-09-20 17:37
leepandar
阅读(569)
评论(0)
推荐(0)
摘要:
在回答这个问题之前,我们先分别来了解一下两个知识点: 什么是 MD5 算法? 什么是加密算法? 一、MD5算法 MD5 即 Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一,主流编程语言普遍已有 MD5 实现。 将数据 阅读全文
在回答这个问题之前,我们先分别来了解一下两个知识点: 什么是 MD5 算法? 什么是加密算法? 一、MD5算法 MD5 即 Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一,主流编程语言普遍已有 MD5 实现。 将数据 阅读全文
posted @ 2022-09-20 17:36
leepandar
阅读(213)
评论(0)
推荐(0)
摘要:
服务器搭建 下载 下载 JDK:https://www.oracle.com/technetwork/java/javase/downloads/ 下载 Gitblit:http://gitblit.com/ 解压 解压缩下载的压缩包即可,无需安装。 创建本地存储文件夹 配置 打开data文件夹下的 阅读全文
服务器搭建 下载 下载 JDK:https://www.oracle.com/technetwork/java/javase/downloads/ 下载 Gitblit:http://gitblit.com/ 解压 解压缩下载的压缩包即可,无需安装。 创建本地存储文件夹 配置 打开data文件夹下的 阅读全文
posted @ 2022-09-20 16:29
leepandar
阅读(51)
评论(0)
推荐(0)
摘要:
| 特性| gitlab| gitblit|gitbucket|gogs|gitolite| | | | | | | | | 公开库 | √| √|√|√|√| | 私有库 | √| √|√|√|√| | 在线编辑| √| ×|√|×|×| | wiki| √| √|√|√|×| | issue| 阅读全文
| 特性| gitlab| gitblit|gitbucket|gogs|gitolite| | | | | | | | | 公开库 | √| √|√|√|√| | 私有库 | √| √|√|√|√| | 在线编辑| √| ×|√|×|×| | wiki| √| √|√|√|×| | issue| 阅读全文
posted @ 2022-09-20 16:29
leepandar
阅读(242)
评论(0)
推荐(0)
摘要:
下载 如果未安装wget,则先安装wget yum install wget 安装完成 [root@localhost local]# yum install wget 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * 阅读全文
下载 如果未安装wget,则先安装wget yum install wget 安装完成 [root@localhost local]# yum install wget 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * 阅读全文
posted @ 2022-09-20 16:26
leepandar
阅读(171)
评论(0)
推荐(0)
摘要:
下载 1.通过官网下载 Maven官网:http://maven.apache.org/ Maven下载地址:http://maven.apache.org/download.cgi 将下载好的包通过ftp上传到服务器。 2.wget下载 这里使用了华中科技大学开源镜像站,网上有很多,自行选择。 [ 阅读全文
下载 1.通过官网下载 Maven官网:http://maven.apache.org/ Maven下载地址:http://maven.apache.org/download.cgi 将下载好的包通过ftp上传到服务器。 2.wget下载 这里使用了华中科技大学开源镜像站,网上有很多,自行选择。 [ 阅读全文
posted @ 2022-09-20 16:25
leepandar
阅读(58)
评论(0)
推荐(0)
摘要:
前言 Sentinel 是什么? 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 Sentinel 的历史 2012 年,Sentinel 诞生,主要功能为入口流量控制。 2013-2017 年 阅读全文
前言 Sentinel 是什么? 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 Sentinel 的历史 2012 年,Sentinel 诞生,主要功能为入口流量控制。 2013-2017 年 阅读全文
posted @ 2022-09-20 16:23
leepandar
阅读(69)
评论(0)
推荐(0)
摘要:
InnoDB引擎表的特点 1、InnoDB引擎表是基于B+树的索引组织表(IOT) 关于B+树 B+ 树的特点: 所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的; 不可能在非叶子结点命中; 非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(关键字)数据 阅读全文
InnoDB引擎表的特点 1、InnoDB引擎表是基于B+树的索引组织表(IOT) 关于B+树 B+ 树的特点: 所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的; 不可能在非叶子结点命中; 非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(关键字)数据 阅读全文
posted @ 2022-09-20 16:18
leepandar
阅读(268)
评论(0)
推荐(0)
摘要:
负载均衡即是代理服务器将接收的请求均衡的分发到各服务器中。 负载均衡的优势在访问量少或并发小的时候可能并不明显,且不说淘宝双11、铁道部抢票这种级别的访问量、高并发,就是一般网站的抢购活动时,也会给服务器造成很大压力,可能会造成服务器崩溃。而负载均衡可以很明显的减少甚至消除这种情况的出现,下面我们说 阅读全文
负载均衡即是代理服务器将接收的请求均衡的分发到各服务器中。 负载均衡的优势在访问量少或并发小的时候可能并不明显,且不说淘宝双11、铁道部抢票这种级别的访问量、高并发,就是一般网站的抢购活动时,也会给服务器造成很大压力,可能会造成服务器崩溃。而负载均衡可以很明显的减少甚至消除这种情况的出现,下面我们说 阅读全文
posted @ 2022-09-20 16:16
leepandar
阅读(132)
评论(0)
推荐(0)
摘要:
前言 Java中的引用有点像C++中的指针,通过引用可以对堆中的对象进行操作。在Java程序中最常见的引用类型是强引用,也是默认的引用类型。当在Java语言中使用New操作符创建一个新的对象,并将其赋值给一个变量的时候,这个变量就成为指向该对象的一个强引用。 Jva中的引用 Java中提供了四个级别 阅读全文
前言 Java中的引用有点像C++中的指针,通过引用可以对堆中的对象进行操作。在Java程序中最常见的引用类型是强引用,也是默认的引用类型。当在Java语言中使用New操作符创建一个新的对象,并将其赋值给一个变量的时候,这个变量就成为指向该对象的一个强引用。 Jva中的引用 Java中提供了四个级别 阅读全文
posted @ 2022-09-20 16:10
leepandar
阅读(54)
评论(0)
推荐(0)
摘要:
CAS 是什么 CAS 的全称 Compare-And-Swap,它是一条 CPU 并发。 它的功能是判断内存某一个位置的值是否为预期,如果是则更改这个值,这个过程就是原子的。 CAS 并发原体现在 JAVA 语言中就是 sun.misc.Unsafe 类中的各个方法。调用 UnSafe 类中的 C 阅读全文
CAS 是什么 CAS 的全称 Compare-And-Swap,它是一条 CPU 并发。 它的功能是判断内存某一个位置的值是否为预期,如果是则更改这个值,这个过程就是原子的。 CAS 并发原体现在 JAVA 语言中就是 sun.misc.Unsafe 类中的各个方法。调用 UnSafe 类中的 C 阅读全文
posted @ 2022-09-20 16:09
leepandar
阅读(61)
评论(0)
推荐(0)
摘要:
Timer和TimerTask Timer是jdk中提供的一个定时器工具,使用的时候会在主线程之外起一个单独的线程执行指定的计划任务,可以指定执行一次或者反复执行多次。 TimerTask是一个实现了Runnable接口的抽象类,代表一个可以被Timer执行的任务。 Timer的调度 import 阅读全文
Timer和TimerTask Timer是jdk中提供的一个定时器工具,使用的时候会在主线程之外起一个单独的线程执行指定的计划任务,可以指定执行一次或者反复执行多次。 TimerTask是一个实现了Runnable接口的抽象类,代表一个可以被Timer执行的任务。 Timer的调度 import 阅读全文
posted @ 2022-09-20 16:08
leepandar
阅读(693)
评论(0)
推荐(0)
摘要:
前言 众所周知,在索引时,如果模糊查询的%置于最前面,索引会失效。但是在%前置时,什么情况下会使用到索引? 补充 like %keyword 索引失效,使用全表扫描。但可以通过翻转函数+like前模糊查询+建立翻转函数索引=走翻转函数索引,不走全表扫描。 like keyword% 索引有效。 li 阅读全文
前言 众所周知,在索引时,如果模糊查询的%置于最前面,索引会失效。但是在%前置时,什么情况下会使用到索引? 补充 like %keyword 索引失效,使用全表扫描。但可以通过翻转函数+like前模糊查询+建立翻转函数索引=走翻转函数索引,不走全表扫描。 like keyword% 索引有效。 li 阅读全文
posted @ 2022-09-20 16:06
leepandar
阅读(1188)
评论(0)
推荐(0)
摘要:
传播性行为分为以下几种 PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。 PROPAGATION_MANDATORY--支持当前事务,如果当 阅读全文
传播性行为分为以下几种 PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。 PROPAGATION_MANDATORY--支持当前事务,如果当 阅读全文
posted @ 2022-09-20 15:59
leepandar
阅读(64)
评论(0)
推荐(0)
摘要:
事务隔离级别 ISOLATION_DEFAULT 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。 ISOLATION_READ_UNCOMMITTED 这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。这种隔离级别会产 阅读全文
事务隔离级别 ISOLATION_DEFAULT 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。 ISOLATION_READ_UNCOMMITTED 这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。这种隔离级别会产 阅读全文
posted @ 2022-09-20 15:59
leepandar
阅读(55)
评论(0)
推荐(0)
摘要:
永远不要让一个类存在多个改变的理由。 单一原则表明,如果你有多个原因去改变一个类,那么应该把这些引起变化的原因分离开,把这个类分成多个类,每个类只负责处理一种改变。当你做出某种改变时,只需要修改负责处理该改变的类。当我们去改变一个具有多个职责的类时可能会影响该类的其他功能 单一职责原则代表了设计应用 阅读全文
永远不要让一个类存在多个改变的理由。 单一原则表明,如果你有多个原因去改变一个类,那么应该把这些引起变化的原因分离开,把这个类分成多个类,每个类只负责处理一种改变。当你做出某种改变时,只需要修改负责处理该改变的类。当我们去改变一个具有多个职责的类时可能会影响该类的其他功能 单一职责原则代表了设计应用 阅读全文
posted @ 2022-09-20 15:53
leepandar
阅读(45)
评论(0)
推荐(0)
摘要:
定义 Interface Segregation Principle 客户端不应依赖它不需要的接口 类间的依赖关系应该建立在最小的接口上 其实通俗来理解就是,不要在一个接口里面放很多的方法,这样会显得这个类很臃肿。接口应该尽量细化,一个接口对应一个功能模块,同时接口里面的方法应该尽可能的少,使接口更 阅读全文
定义 Interface Segregation Principle 客户端不应依赖它不需要的接口 类间的依赖关系应该建立在最小的接口上 其实通俗来理解就是,不要在一个接口里面放很多的方法,这样会显得这个类很臃肿。接口应该尽量细化,一个接口对应一个功能模块,同时接口里面的方法应该尽可能的少,使接口更 阅读全文
posted @ 2022-09-20 15:53
leepandar
阅读(78)
评论(0)
推荐(0)
摘要:
依赖倒置原则 High level modules should not depend upon low level modules.Both should depend upon abstractions. 高层模块不应该依赖低层模块,两者都应该依赖其抽象(模块间的依赖通过抽象发生,实现类之间不发 阅读全文
依赖倒置原则 High level modules should not depend upon low level modules.Both should depend upon abstractions. 高层模块不应该依赖低层模块,两者都应该依赖其抽象(模块间的依赖通过抽象发生,实现类之间不发 阅读全文
posted @ 2022-09-20 15:51
leepandar
阅读(31)
评论(0)
推荐(0)
摘要:
合成复用原则 在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用这些对象的目的。 如果两个类是“Has-a”关系应使用合成、聚合,如果是“Is-a”关系可使用继承。"Is-A"是严格的分类学意义上定义,意思是一个类是另一个类的"一种"。而"Has-A" 阅读全文
合成复用原则 在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用这些对象的目的。 如果两个类是“Has-a”关系应使用合成、聚合,如果是“Is-a”关系可使用继承。"Is-A"是严格的分类学意义上定义,意思是一个类是另一个类的"一种"。而"Has-A" 阅读全文
posted @ 2022-09-20 15:50
leepandar
阅读(62)
评论(0)
推荐(0)
摘要:
定义 里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类 阅读全文
定义 里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类 阅读全文
posted @ 2022-09-20 15:50
leepandar
阅读(73)
评论(0)
推荐(0)
摘要:
迪米特原则 迪米特原则(Law of Demeter)又叫最少知道原则(Least Knowledge Principle),可以简单说成:talk only to your immediate friends,只与你直接的朋友们通信,不要跟“陌生人”说话。 模式与意义 迪米特法则,如果两个类不必彼 阅读全文
迪米特原则 迪米特原则(Law of Demeter)又叫最少知道原则(Least Knowledge Principle),可以简单说成:talk only to your immediate friends,只与你直接的朋友们通信,不要跟“陌生人”说话。 模式与意义 迪米特法则,如果两个类不必彼 阅读全文
posted @ 2022-09-20 15:49
leepandar
阅读(91)
评论(0)
推荐(0)
摘要:
开闭原则 开闭原则是面向对象世界里最基础的设计原则,它指导我们如何建立一个稳定,灵活,可扩展的系统。开闭原则定义如下: Software entities like classes,modules and functions should be open for extension but clos 阅读全文
开闭原则 开闭原则是面向对象世界里最基础的设计原则,它指导我们如何建立一个稳定,灵活,可扩展的系统。开闭原则定义如下: Software entities like classes,modules and functions should be open for extension but clos 阅读全文
posted @ 2022-09-20 15:46
leepandar
阅读(136)
评论(0)
推荐(0)
摘要:
算法原理 引用记数法在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活的对象,哪些是已经死亡的对象,只有被标记为已经死亡的对象,GC才会在执行垃圾回收时,释放掉其所占用的内存空间。 比如说,当我们编写以下代码时 String p = new String("abc") abc这个字符串对象的引用 阅读全文
算法原理 引用记数法在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活的对象,哪些是已经死亡的对象,只有被标记为已经死亡的对象,GC才会在执行垃圾回收时,释放掉其所占用的内存空间。 比如说,当我们编写以下代码时 String p = new String("abc") abc这个字符串对象的引用 阅读全文
posted @ 2022-09-20 15:38
leepandar
阅读(264)
评论(0)
推荐(0)
摘要:
前言 相对于引用计数算法而言,根搜索算法不仅同样具备实现简单和执行高效等特点,更重要的是该算法可以有效的解决在引用记数法中一些已经死亡的对象因为相互引用而导致的无法正确被 标记的问题,防止内存泄漏的发生。 算法原理 根搜索算法是以根对象集合为起始点,按照从上至下的方式搜索被根对象集合所连接的目标对象 阅读全文
前言 相对于引用计数算法而言,根搜索算法不仅同样具备实现简单和执行高效等特点,更重要的是该算法可以有效的解决在引用记数法中一些已经死亡的对象因为相互引用而导致的无法正确被 标记的问题,防止内存泄漏的发生。 算法原理 根搜索算法是以根对象集合为起始点,按照从上至下的方式搜索被根对象集合所连接的目标对象 阅读全文
posted @ 2022-09-20 15:37
leepandar
阅读(73)
评论(0)
推荐(0)
摘要:
前言 标记清除算法(Mark-Sweep)是一种非常基础和常见的垃圾收集算法,该算法被J.McCarthy等人在1960年提出并成功的发明并应用于Lisp语言。 涉及概念 先来了解一下mutator和collector。这2个名词经常在垃圾收集算法中出现。 collector指的就是垃圾收集器。 m 阅读全文
前言 标记清除算法(Mark-Sweep)是一种非常基础和常见的垃圾收集算法,该算法被J.McCarthy等人在1960年提出并成功的发明并应用于Lisp语言。 涉及概念 先来了解一下mutator和collector。这2个名词经常在垃圾收集算法中出现。 collector指的就是垃圾收集器。 m 阅读全文
posted @ 2022-09-20 15:36
leepandar
阅读(362)
评论(0)
推荐(0)
摘要:
算法原理 复制算法首先将或者的内存空间分为2块,每次只使用其中一块,在垃圾会搜时将正在使用的内存中的存活对象复 制到未被使用的内存块中,之后清楚正在使用的内存块中的所有对象,交换2个内存的角色,最后完成垃圾回收。 年轻代中的GC HotSpot JVM把年轻代分为了三部分:1个Eden区和2个Sur 阅读全文
算法原理 复制算法首先将或者的内存空间分为2块,每次只使用其中一块,在垃圾会搜时将正在使用的内存中的存活对象复 制到未被使用的内存块中,之后清楚正在使用的内存块中的所有对象,交换2个内存的角色,最后完成垃圾回收。 年轻代中的GC HotSpot JVM把年轻代分为了三部分:1个Eden区和2个Sur 阅读全文
posted @ 2022-09-20 15:35
leepandar
阅读(135)
评论(0)
推荐(0)
摘要:
前言 标记清除算法的确可以应用在老年代中,但是该算法不仅执行效率低下,而且在执行完内存回收后会产生内存碎片。所以JVM的设计者在此基础上做了改进,标记压缩法(也称标记整理法)由此诞生。 算法原理 当成功标记出内存中的垃圾对象之后,标记压缩法会将所有的存活对象都移动到一个规整且连续的内存空间中,然后执 阅读全文
前言 标记清除算法的确可以应用在老年代中,但是该算法不仅执行效率低下,而且在执行完内存回收后会产生内存碎片。所以JVM的设计者在此基础上做了改进,标记压缩法(也称标记整理法)由此诞生。 算法原理 当成功标记出内存中的垃圾对象之后,标记压缩法会将所有的存活对象都移动到一个规整且连续的内存空间中,然后执 阅读全文
posted @ 2022-09-20 15:34
leepandar
阅读(207)
评论(0)
推荐(0)
摘要:
前言 在垃圾回收过程中,应用软件处于一种Stop the World的状态。在Stop the World的状态下,应用程序的所有线程都会挂起,暂停一切工作,等待垃圾回收的完成。如果垃圾回收时间过长,应用程序会被挂起很久,将严重影响用户体验或者系统的稳定性。为了解决这个问题,即对实时垃圾手机算法的研 阅读全文
前言 在垃圾回收过程中,应用软件处于一种Stop the World的状态。在Stop the World的状态下,应用程序的所有线程都会挂起,暂停一切工作,等待垃圾回收的完成。如果垃圾回收时间过长,应用程序会被挂起很久,将严重影响用户体验或者系统的稳定性。为了解决这个问题,即对实时垃圾手机算法的研 阅读全文
posted @ 2022-09-20 15:33
leepandar
阅读(61)
评论(0)
推荐(0)
摘要:
前言 虚拟机给每个对象定义了一个对象年龄(Age)计数器。如果对象在Eden区出生并经过第一次Minor GC后仍然存活,并且能被Survivor容纳的话,将被移动到Survivor空间中,并将对象年龄设为1.对象在Survivor中每熬过一次Minor GC,年龄就将增加1岁,当他的年龄增加到一定 阅读全文
前言 虚拟机给每个对象定义了一个对象年龄(Age)计数器。如果对象在Eden区出生并经过第一次Minor GC后仍然存活,并且能被Survivor容纳的话,将被移动到Survivor空间中,并将对象年龄设为1.对象在Survivor中每熬过一次Minor GC,年龄就将增加1岁,当他的年龄增加到一定 阅读全文
posted @ 2022-09-20 15:32
leepandar
阅读(85)
评论(0)
推荐(0)
摘要:
前言 Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。 在 Java 中,堆被划分成两个不同的区域:年轻代 ( Young )、老年代 ( Tenured)。年轻代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Surviv 阅读全文
前言 Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。 在 Java 中,堆被划分成两个不同的区域:年轻代 ( Young )、老年代 ( Tenured)。年轻代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Surviv 阅读全文
posted @ 2022-09-20 15:32
leepandar
阅读(145)
评论(0)
推荐(0)
摘要:
前言 在默认情况下,System.gc()会显示直接触发Full GC,同时对老年代和新生代进行回收。而一般情况下,垃圾回收应该是自动进行的,无需手工触发,否则就太麻烦了。 示例 public class TestGC { public static void main(String[] args) 阅读全文
前言 在默认情况下,System.gc()会显示直接触发Full GC,同时对老年代和新生代进行回收。而一般情况下,垃圾回收应该是自动进行的,无需手工触发,否则就太麻烦了。 示例 public class TestGC { public static void main(String[] args) 阅读全文
posted @ 2022-09-20 15:31
leepandar
阅读(96)
评论(0)
推荐(0)
摘要:
G1(Garbage First) G1是一个并行回收器,他把内存分割为很多不相关的区间(Region),每个区间可以属于老年代或者年轻代,并且每个年代区间可以是物理上不连续的。垃圾回收时都是需要停下应用程序,不然没有办法防止应用程序的干扰,然后G1 GC可以集中精力在垃圾最多的区间上,并且只费一点 阅读全文
G1(Garbage First) G1是一个并行回收器,他把内存分割为很多不相关的区间(Region),每个区间可以属于老年代或者年轻代,并且每个年代区间可以是物理上不连续的。垃圾回收时都是需要停下应用程序,不然没有办法防止应用程序的干扰,然后G1 GC可以集中精力在垃圾最多的区间上,并且只费一点 阅读全文
posted @ 2022-09-20 15:30
leepandar
阅读(127)
评论(0)
推荐(0)
摘要:
IOC简介 在Spring IoC容器的设计中,作者设计了两个接口来表示容器 BeanFactory BeanFactory简单粗暴,可以理解为HashMap,key是BeanName,value是Bean实例,通常只提供put和get。这系列容器只实现了容器的最基本功能,可看做为简单容器。 App 阅读全文
IOC简介 在Spring IoC容器的设计中,作者设计了两个接口来表示容器 BeanFactory BeanFactory简单粗暴,可以理解为HashMap,key是BeanName,value是Bean实例,通常只提供put和get。这系列容器只实现了容器的最基本功能,可看做为简单容器。 App 阅读全文
posted @ 2022-09-20 15:29
leepandar
阅读(66)
评论(0)
推荐(0)
摘要:
官方最低要求配置 内存:1G(官方最低要求1G) 硬盘:40G(企业版安装所需4.29G和1.7G数据文件) 准备工作 安装环境介绍 系统:CentOS 7 64位 Oracle版本:Oracle 11gR2 下载Oracle安装文件官网下载地址 下载出来是这样两个压缩包: linux.x64_11 阅读全文
官方最低要求配置 内存:1G(官方最低要求1G) 硬盘:40G(企业版安装所需4.29G和1.7G数据文件) 准备工作 安装环境介绍 系统:CentOS 7 64位 Oracle版本:Oracle 11gR2 下载Oracle安装文件官网下载地址 下载出来是这样两个压缩包: linux.x64_11 阅读全文
posted @ 2022-09-20 15:29
leepandar
阅读(220)
评论(0)
推荐(0)
摘要:
阿里巴巴Java规范:方法【edit】需要在Transactional注解指定rollbackFor或者在方法中显示的rollback。 异常的分类 Throwable:有两个重要的子类:Exception(异常)和Error(错误),二者都是Java异常处理的重要子类,各自都包含大量子类。 Err 阅读全文
阿里巴巴Java规范:方法【edit】需要在Transactional注解指定rollbackFor或者在方法中显示的rollback。 异常的分类 Throwable:有两个重要的子类:Exception(异常)和Error(错误),二者都是Java异常处理的重要子类,各自都包含大量子类。 Err 阅读全文
posted @ 2022-09-20 15:28
leepandar
阅读(433)
评论(0)
推荐(0)
摘要:
背景 本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执行吗? 环境 MySQL5.7.25 Centos 7.4 binlog_format为ROW 参数 root@localhost : (none) 04:53:15> show 阅读全文
背景 本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执行吗? 环境 MySQL5.7.25 Centos 7.4 binlog_format为ROW 参数 root@localhost : (none) 04:53:15> show 阅读全文
posted @ 2022-09-20 15:27
leepandar
阅读(48)
评论(0)
推荐(0)
摘要:
首先会使用 hash 函数来计算 key,然后执行真正的插入方法 final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; int n, 阅读全文
首先会使用 hash 函数来计算 key,然后执行真正的插入方法 final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; int n, 阅读全文
posted @ 2022-09-20 15:25
leepandar
阅读(92)
评论(0)
推荐(0)
摘要:
1.将表中时间类型的字段更改类型,比如CREATE_TIME,UPDATE_TIME ALTER TABLE ZFTJ_HALF MODIFY CREATE_TIME TIMESTAMP WITH LOCAL TIME ZONE; 2.在需要转换的数据库页面点击左上方的工具按钮,选择数据传输,选择好 阅读全文
1.将表中时间类型的字段更改类型,比如CREATE_TIME,UPDATE_TIME ALTER TABLE ZFTJ_HALF MODIFY CREATE_TIME TIMESTAMP WITH LOCAL TIME ZONE; 2.在需要转换的数据库页面点击左上方的工具按钮,选择数据传输,选择好 阅读全文
posted @ 2022-09-20 15:22
leepandar
阅读(376)
评论(0)
推荐(0)
摘要:
其实SchedulingConfigurer实现方法很简单,只需要实现SchedulingConfigurer并重写configureTasks方法,在启动类必须加上@EnableScheduling注解即可。 @Configuration @EnableScheduling @Slf4j publ 阅读全文
其实SchedulingConfigurer实现方法很简单,只需要实现SchedulingConfigurer并重写configureTasks方法,在启动类必须加上@EnableScheduling注解即可。 @Configuration @EnableScheduling @Slf4j publ 阅读全文
posted @ 2022-09-20 15:21
leepandar
阅读(150)
评论(0)
推荐(0)
摘要:
Redis常用的数据类型 String Hash List Set zSet Sorted set String类型 判断是否有key所对应的值,有则返回true,没有则返回false redisTemplate.hasKey(key) 有则取出key值所对应的值 redisTemplate.ops 阅读全文
Redis常用的数据类型 String Hash List Set zSet Sorted set String类型 判断是否有key所对应的值,有则返回true,没有则返回false redisTemplate.hasKey(key) 有则取出key值所对应的值 redisTemplate.ops 阅读全文
posted @ 2022-09-20 15:20
leepandar
阅读(198)
评论(0)
推荐(0)
摘要:
引入html代码 1、首先,找到位置为/layout/_widget/category-cloud.ejs的文件,后面的html和css代码都放在此category-cloud.ejs文件即可。 2、然后,定位到href=”<%- url_for(category.path) %>”的a标签位置: 阅读全文
引入html代码 1、首先,找到位置为/layout/_widget/category-cloud.ejs的文件,后面的html和css代码都放在此category-cloud.ejs文件即可。 2、然后,定位到href=”<%- url_for(category.path) %>”的a标签位置: 阅读全文
posted @ 2022-09-20 15:19
leepandar
阅读(83)
评论(0)
推荐(0)
摘要:
一.第一个解答来源于《高性能Mysql》中的回答 很多高性能的应用都会对关联查询进行分解。简单地,可以对每个表进行一次单表查询,然后将结果在应用程序中进行关联。 例如,下面这个查询: select * from tag join tag_post on tag_post.tag_id=tag.id 阅读全文
一.第一个解答来源于《高性能Mysql》中的回答 很多高性能的应用都会对关联查询进行分解。简单地,可以对每个表进行一次单表查询,然后将结果在应用程序中进行关联。 例如,下面这个查询: select * from tag join tag_post on tag_post.tag_id=tag.id 阅读全文
posted @ 2022-09-20 15:02
leepandar
阅读(298)
评论(0)
推荐(0)
摘要:
在企业级应用开发中,报表生成、报表打印下载是其重要的一个环节。除了 Excel 报表之外,PDF 报表也有广泛的应用场景。 目前世面上比较流行的制作 PDF 报表的工具如下: iText PDF :iText 是著名的开放项目,是用于生成 PDF 文档的一个 java 类库。通过 iText 不仅可 阅读全文
在企业级应用开发中,报表生成、报表打印下载是其重要的一个环节。除了 Excel 报表之外,PDF 报表也有广泛的应用场景。 目前世面上比较流行的制作 PDF 报表的工具如下: iText PDF :iText 是著名的开放项目,是用于生成 PDF 文档的一个 java 类库。通过 iText 不仅可 阅读全文
posted @ 2022-09-20 14:29
leepandar
阅读(224)
评论(0)
推荐(0)
摘要:
6 JasperReport的开发步骤 6.1 JasperReport生命周期 通常我们提到PDF报表的时候,浮现在脑海中的是最终的PDF文档文件。在JasperReports中,这只是报表生命周期的最后阶段。通过JasperReports生成PDF报表一共要经过三个阶段,我们称之为 Jasper 阅读全文
6 JasperReport的开发步骤 6.1 JasperReport生命周期 通常我们提到PDF报表的时候,浮现在脑海中的是最终的PDF文档文件。在JasperReports中,这只是报表生命周期的最后阶段。通过JasperReports生成PDF报表一共要经过三个阶段,我们称之为 Jasper 阅读全文
posted @ 2022-09-20 14:28
leepandar
阅读(306)
评论(0)
推荐(0)
摘要:
5 用户档案下载 5.1 搭建环境 (1) 配置坐标 <dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports</artifactId> <version>6.5.0</version> </depe 阅读全文
5 用户档案下载 5.1 搭建环境 (1) 配置坐标 <dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports</artifactId> <version>6.5.0</version> </depe 阅读全文
posted @ 2022-09-20 14:26
leepandar
阅读(100)
评论(0)
推荐(0)
摘要:
4 父子报表 4.1 概述 复杂报表或数据内容较多的时候,可以使用子报表解决。 4.2 制作父报表 首先制作父报表,就是调用子报表的一个基础报表。主报表的作用有如下两种: 父报表中需要显示数据,使用子报表弥补studio设计的不足 父报表不需要显示任何数据,只是作为子报表的载体。适用于复杂报表的设计 阅读全文
4 父子报表 4.1 概述 复杂报表或数据内容较多的时候,可以使用子报表解决。 4.2 制作父报表 首先制作父报表,就是调用子报表的一个基础报表。主报表的作用有如下两种: 父报表中需要显示数据,使用子报表弥补studio设计的不足 父报表不需要显示任何数据,只是作为子报表的载体。适用于复杂报表的设计 阅读全文
posted @ 2022-09-20 14:25
leepandar
阅读(345)
评论(0)
推荐(0)
摘要:
3 PDF报表打印概述 3.1 概述 在企业级应用开发中,报表生成、报表打印下载是其重要的一个环节。在之前的课程中我们已经学习了报表中比较重要的一种:Excel报表。其实除了Excel报表之外,PDF报表也有广泛的应用场景,必须用户详细资料,用户简历等。接下来的课程,我们就来共同学习PDF报表 3. 阅读全文
3 PDF报表打印概述 3.1 概述 在企业级应用开发中,报表生成、报表打印下载是其重要的一个环节。在之前的课程中我们已经学习了报表中比较重要的一种:Excel报表。其实除了Excel报表之外,PDF报表也有广泛的应用场景,必须用户详细资料,用户简历等。接下来的课程,我们就来共同学习PDF报表 3. 阅读全文
posted @ 2022-09-20 14:24
leepandar
阅读(146)
评论(0)
推荐(0)
摘要:
2 分组报表 2.1 概述 有两种情况会使用分组报表: 美观和好看的显示。 当数据分为两层表时,经常需要批量打印子表的数据。打印时,常常需要按照父表的外键或关联值进行自动 分组,即每一条父表记录所属的子表记录打印到一组报表中,每组报表都单独计数及计算页数。在应用中,可以通过选择需要打印的父表记录,将 阅读全文
2 分组报表 2.1 概述 有两种情况会使用分组报表: 美观和好看的显示。 当数据分为两层表时,经常需要批量打印子表的数据。打印时,常常需要按照父表的外键或关联值进行自动 分组,即每一条父表记录所属的子表记录打印到一组报表中,每组报表都单独计数及计算页数。在应用中,可以通过选择需要打印的父表记录,将 阅读全文
posted @ 2022-09-20 14:22
leepandar
阅读(589)
评论(0)
推荐(0)
摘要:
1 数据填充 我们介绍了如何使用JasperReport来生成简单的文本报表,正式企业开发中动态数据展示也是报表中最重要的一环,接下来我们共同研究的就是填充动态数据到PDF报表中。 /** * 填充数据构造JasperPrint * is: 文件输入流 * parameters:参数 * dataS 阅读全文
1 数据填充 我们介绍了如何使用JasperReport来生成简单的文本报表,正式企业开发中动态数据展示也是报表中最重要的一环,接下来我们共同研究的就是填充动态数据到PDF报表中。 /** * 填充数据构造JasperPrint * is: 文件输入流 * parameters:参数 * dataS 阅读全文
posted @ 2022-09-20 14:09
leepandar
阅读(642)
评论(0)
推荐(0)
摘要:
<script type="text/javascript"> //获取当前位置 var geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition(function(r){ if(this.getStatus() == 阅读全文
<script type="text/javascript"> //获取当前位置 var geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition(function(r){ if(this.getStatus() == 阅读全文
posted @ 2022-09-20 11:50
leepandar
阅读(268)
评论(0)
推荐(0)
摘要:
linux版本:CentOS 6.0+ 1、下载nginx rpm包命令 wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm 2、安装nginx rpm包 rp 阅读全文
linux版本:CentOS 6.0+ 1、下载nginx rpm包命令 wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm 2、安装nginx rpm包 rp 阅读全文
posted @ 2022-09-20 11:44
leepandar
阅读(46)
评论(0)
推荐(0)

浙公网安备 33010602011771号