Java与数据库开发
web模块, 也就是 Servlet 规范中的web应用。在Java EE架构中, web模块(web module) 是最小的web部署单元。 其中包含web组件以及静态资源; 如图片之类的静态资源也被称为 web资源。
翻译说明 greedy: 贪婪型, 最大匹配方式; reluctant: 懒惰型, 最小匹配方式; possessive: 独占型, 全部匹配方式; 也翻译为[支配型]; 这3种量词, 是修饰量词的量词, 可以理解为正则格式重复的匹配类型。
本文简要介绍Java的正则表达式及其实现方式,并通过实例讲解正则表达式的具体用法。 1. 正则表达式 1.1. 简介 正则表达式(Regular Expression), 简称 正则, 也翻译为 正规式, 用来表示文本搜索模式。
需求: 给定一个URL地址, 例如: http://www.cncounter.com/tools/shorturl.php, 解析对应的IP地址和端口号。 说明: 本文不涉及底层的 DNS 协议, 直接使用Java平台提供的API进行操作。
本文不讨论 Spring 的 @Autowired 懒加载(lazy-init)问题。 今天突然发现一个问题。 在Tomcat启动时,SpringMVC并没有加载,而是第一次请求到来时才进行加载。
本文简要介绍 Redis 安全相关的话题, 包括: Redis访问控制机制、Redis源码安全性, 外部输入可能触发的恶意攻击, 以及其他相关问题。 如果要反馈安全问题, 请到 GitHub 上提出 issue, 当然, 如果需要私密通信, 请使用文末提供的 GPG key。
查询 MongoDB中根据数组子元素进行匹配,有两种方式。 使用 “[数组名].[子元素字段名]” 的方式进行匹配。 使用 “[数组名]” $elemMatch { [子元素字段名] }的方式。
一言不合就杀进程。。。 这是本系列的第八篇文章, 相关文章列表: OutOfMemoryError系列(1): Java heap space OutOfMemoryError系列(2): GC overhead limit exceeded OutOfMemor...
这是本系列的第七篇文章, 相关文章列表: OutOfMemoryError系列(1): Java heap space OutOfMemoryError系列(2): GC overhead limit exceeded OutOfMemoryError系列(3): Perm...
这是本系列的第六篇文章, 相关文章列表: OutOfMemoryError系列(1): Java heap space OutOfMemoryError系列(2): GC overhead limit exceeded OutOfMemoryError系列(3): Permgen space OutOfMemoryError系列(4): Metaspace OutOfMemoryError系列(5): Unable to create new native thread JVM启动参数指定了最大内存限制。
这是本系列的第五篇文章, 相关文章列表: OutOfMemoryError系列(1): Java heap space OutOfMemoryError系列(2): GC overhead limit exceeded OutOfMemoryError系列(3): Permgen space OutOfMemoryError系列(4): Metaspace Java程序本质上是多线程的, 可以同时执行多项任务。
这是本系列的第四篇文章, 相关文章列表: OutOfMemoryError系列(1): Java heap space OutOfMemoryError系列(2): GC overhead limit exceeded OutOfMemoryError系列(3): Permgen space OutOfMemoryError系列(4): Metaspace JVM限制了Java程序的最大内存, 修改/指定启动参数可以改变这种限制。
说明: Permgen(永久代) 属于 JDK1.7 及之前版本的概念; 为了适应Java程序的发展, JDK8以后的版本采用限制更少的 MetaSpace 来代替, 详情请参考下一篇文章: OutOfMemoryError系列(4): Metaspace。
本文简要介绍HTML中的各种元素及其相关属性,读者需要有一个概念: HTML页面都是由基本元素及属性组成的。HTML页面的结构如下。 doctype 声明 HTML 源文件中, 首先出现的是 doctype 声明。
本文是JavaEE基础系列的第五节。 Java EE简介 - JavaEE基础系列 JSR简介 - JavaEE基础系列 什么是JSR参考实现? - JavaEE基础系列 什么是应用服务器? - JavaEE基础系列 Microservices(微服务) 是当今世界最火爆的软件架构。
这是本系列的第二篇文章, 相关文章列表: OutOfMemoryError系列(1): Java heap space OutOfMemoryError系列(2): GC overhead limit exceeded OutOfMemoryError系列(3): Permgen space OutOfMemoryError系列(4): Metaspace Java运行时环境内置了 垃圾收集(GC) 模块. 上一代的很多编程语言中并没有自动内存回收机制, 需要程序员手工编写代码来进行内存分配和释放, 以重复利用堆内存。
本文为笔记、仅作参考。 前文为: 用FreeMarker生成Word文档。 现在新需求来了,导出的Word文档中、需要包含图片。 大致的处理流程为: 解析导出信息、将 抽取出来。
Server JRE, 服务器版JRE JRE安装包, JDK安装包, 以及 Server JRE 压缩包, 在 Java SE Download 页面都可以下载: http://www.oracle.com/technetwork/java/javase/downloads/index.html; Java 相关的术语请参考: http://www.oracle.com/technetwork/java/glossary-135216.html. JRE 可以运行各种Java程序, 包括服务端和桌面端Java程序。
这是本系列的第一篇文章, 相关文章列表: OutOfMemoryError系列(1): Java heap space OutOfMemoryError系列(2): GC overhead limit exceeded OutOfMemoryError系列(3): Permgen space OutOfMemoryError系列(4): Metaspace 每个Java程序都只能使用一定量的内存, 这种限制是由JVM的启动参数决定的。
和单机系统类似, 分布式系统也需要自动清除不再有客户端引用的对象(remote object)。 远程对象的自动垃圾回收机制, 将程序员从深坑中解放出来, 不再需要人工跟踪client所引用的对象了.
FIS3 是面向前端的工程构建工具。解决前端工程中性能优化、资源加载(异步、同步、按需、预加载、依赖管理、合并、内嵌)、模块化开发、自动化工具、开发规范、代码部署等问题。 官网地址是: https://fex-team.github.io/fis3/index.html 我们要做前后端分离,将静态资源部署到CDN。
本文是JavaEE基础系列的第四节。 Java EE简介 - JavaEE基础系列 JSR简介 - JavaEE基础系列 什么是JSR参考实现? - JavaEE基础系列 上一节介绍了什么是JSR参考实现。
本文是JavaEE基础系列的第三节。 Java EE简介 - JavaEE基础系列 JSR简介 - JavaEE基础系列 上一节中, 我们介绍了什么是JSR。JSR就是一个提交到JCP的抽象请求,包含对Java技术平台的补充。
JSR, Java Specification Request, Java规范请求; 也有的地方翻译为Java规范提案。 在前面的文章 1. Java EE简介 - JavaEE基础系列中, 简要介绍了Java EE的定义. 我们提到, Java EE 由各种组件构成, 这些组件需要实现 Java Specification Request(JSR) 所规定的各种 API。
什么是Java EE? 真的是你理解的那样吗? Java EE, 原名J2EE, 其核心由一系列抽象的标准规范所组成, 是针对目前软件开发中所普遍面临问题的解决方案。 注意以上定义中的”抽象”(abstract)这个词。
本文简单介绍如何让 Tomcat 更快启动, 同时提供一些建议。 一般建议 问题一般分为2类: 一类是BUG,还有一类是性能问题。 首先提醒一点: 如果碰到 Tomcat hang 住或者请求不响应, 必须先诊断和排查问题, 而不要急着去优化。
Java中class文件的前四个字节为什么是 CAFEBABE? 是谁定义的? Java编程语言之父,詹姆斯•高斯林(James Gosling),曾这样说过: 关于这一点,我很抱歉。
进行GC性能调优时, 需要明确了解, 当前的GC行为对系统和用户有多大的影响。有多种监控GC的工具和方法, 本章将逐一介绍常用的工具。 您应该已经阅读了前面的章节: 垃圾收集简介 - GC参考手册 Java中的垃圾收集 - GC参考手册 GC 算法(基础篇) - GC参考手册 GC 算法(实现篇) - GC参考手册 GC 调优(基础篇) - GC参考手册 JVM 在程序执行的过程中, 提供了GC行为的原生数据。
说明: Capacity: 性能,能力,系统容量; 文中翻译为”系统容量“; 意为硬件配置。 您应该已经阅读了前面的章节: 垃圾收集简介 - GC参考手册 Java中的垃圾收集 - GC参考手册 GC 算法(基础篇) - GC参考手册 GC 算法(实现篇) - GC参考手册 GC调优(Tuning Garbage Collection)和其他性能调优是同样的原理。
您应该已经阅读了前面的章节: 垃圾收集简介 - GC参考手册 Java中的垃圾收集 - GC参考手册 GC 算法(基础篇) - GC参考手册 学习了GC算法的相关概念之后, 我们将介绍在JVM中这些算法的具体实现。
问题描述 用 jProfiler 分析 Java swing 程序中的内存泄漏问题时, 我发现内存中 JFrame 实例的数量一直在增加。 各个 frame 被打开(opened),然后被关闭(closed)。
首先, Dalvik虚拟机比其他Java虚拟机中的垃圾收集要简单一些, 因为没有进行内存整理(no compacting). 也就是说堆内存中的对象在创建之后其地址永远都不会发生改变, 使得虚拟机其余部分的实现变得相对简单。
问题描述 在Spring MVC开发中, 开发人员可能会设置某个值到 model 中, 并通过EL表达式在JSP显示, 例如: ${msg}, 但并没有解析为对应的 “value”, 输出结果还是老样子: ${msg}。
相关术语翻译说明: Mark,标记; Sweep,清除; Compact,整理; 也有人翻译为压缩,译者认为GC时不存在压缩这回事。 Copy,复制; copy 用作名词时一般翻译为拷贝/副本,用作动词时翻译为复制。
标记-清除(Mark and Sweep)是最经典的垃圾收集算法。将理论用于生产实践时, 会有很多需要优化调整的地点, 以适应具体环境。下面通过一个简单的例子, 让我们一步步记录下来, 看看如何才能保证JVM能安全持续地分配对象。
本文发布之后, 收到了很多的反馈。基于这些反馈,我们更新了文中的示例,使读者更容易理解和掌握, 如果您发现错误和遗漏,希望能给我们提交反馈,帮助我们改进。 本文针对当今 webapp 中一种常碰到的问题,介绍相应的性能优化解决方案。
说明: 在本文中, Garbage Collection 翻译为 “垃圾收集”, garbage collector 翻译为 “垃圾收集器”; 一般认为, 垃圾回收 和 垃圾收集 是同义词。
简单试验了一下,大致支持以下格式: 相关的代码如下: new Date() //Thu Dec 01 2016 11:23:55 GMT+0800 (中国标准时间) new Date(new Date()) //Thu Dec 01 2016 11:23:58 GMT...
顾名思义, Word文档, document 有文档的意思, archive 也有文档的意思。 .doc, .docx, .xls, .xlsx 等文件全部都是ZIP格式的,将文件重命名为 xxx.zip 之后,就可以看到压缩文件的结构了。
1. 安装JDK sudo yum install -y java-1.8.0-openjdk* 2. 配置环境变量与 JAVA_HOME export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64 请将此 export 内容加入 /etc/rc.d/rc.local 或者其他启动文件。
下载地址: http://redis.io/download Redis版本列表: http://download.redis.io/releases/ 如果操作系统是 Windows,请参考: Windows下安装并设置Redis 如果需要配置高可用集群,请参考: http://www.
对于调试Java程序来说,Java Debug Wire Protocol (JDWP, Java调试线协议)是不可多得的好东西。 使用JDWP调试应用程序的步骤如下: 1. 打开命令行,并将 jdk 安装路径下的 bin 目录添加到 PATH 环境变量。
很多需要javac 的程序依赖 JAVA_HOME环境变量. 如果是手工下载源码安装的JDK,很容易知道JAVA_HOME的目录. 例如 whereis javac javac: /usr/local/jdk1.8.0_74/bin/javac 那么对应的 JAVA_HOME 为 /usr/local/jdk1.8.0_74. 而 YUM 安装的 jdk, 不需要配置 PATH, 因为已经自动使用软连接做好了。
2016年9月15日, 在谷歌总部(Google HQ)一场特殊的聚会上, 我们发布了 Angular 2 的 final release 版本, 正式成为 Angular 1 的全平台继任者。
Redis默认有16个库,默认连接的是 index=0 的那一个。这16个库互相之间是独立的。类似于同一MySQL服务器里面的多个数据库。 在命令行中可以很方便的切换. 具体消息请参考: http://www.ttlsa.com/redis/redis-database/ select 2 那么在spring之中怎么配置呢? 当然,可以使用 RedisConnectionCommands 来进行手工切换: redisConnection.select(6); 但很不方便。
译者注: 到处是回调函数,代码非常臃肿难看, Promise 主要用来解决这种编程方式, 将某些代码封装于内部。 Promise 直译为“承诺”,但一般直接称为 Promise; 代码的可读性非常重要,因为开发人员支出一般比计算机硬件的支出要大很多倍。