《深入理解JVM》第七章 类加载器
虚拟机设计团队把类加载阶段中的“通过一个类的全限类名”来捕获描述这个类的二进制字节流,这个动作放入jvm 中,实现这个动作的代码叫做类加载器
类加载器可以是java语言的一项创新,也是java 流行的主要原因之一,最初是为了满足java Applet的需求开发出来的,目前java Applet 没人听说话吧? 但是类加载器却在层次上划分,OSGI,热部署,代码加密,等领域大放异彩,成为java ...
《深入理解JVM》第二章 JVM自动内存管理机制
概述
了解jvm 内存管理机制, 如果jvm 出现内存溢出,泄露的问题可以排查进行工作,
运行时数据区域
jvm 运行时会把内存进行划分,
程序计数器
是一块较小的内存,可以看作为,当前线程所执行字节码的一个行号指示器 ,字节码解释器就是通过改变计数器
来选择执行的字节码指令,分支循环,跳转,异常处理,线程恢复等功能,
JVM 的多线程机制是通过线程的轮流执行来实现...
《深入理解JVM》第三章 垃圾收集器与内存分配策略(对象已死吗 ? )
对象已死吗 ?
引用计数算法
给对象添加一个引用计数器,当有一个地方引用他就给他+1 , 如果有一个地方的引用失效就-1 ,实现简单,效率高,微软公司的COM(component object model) 技术,使用ActionScript3的Flashplaye ,python语言在游戏脚本领域被广泛使用的Squirrel 中都使用了引用计数器算法对内存进行管理,但是主流的java 虚...
JAVA并发Day2 (并行程序基础)
进程和线程
https://www.cnblogs.com/tiankong101/p/4229584.html
https://www.cnblogs.com/dreamroute/p/5207813.html
java 中的线程会被映射到操作平台上,
进程 的调度可以说对于操作系统是一个大的调度,线程是进程中的执行单元
在java 中创建一个线程jvm 会把线程映射到window 进...
JAVA并发Day3 (java内存模型)
此篇博客在jvm深入理解中我已经讲过了
原子性
原子性是指一个操作是不可中断的,即使是多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰,
CPU的指令一般都是原子性的操作,我们写的程序代码不一定具有原子性
1. i++ 是原子操作?
1. 读取 2,然后进行++ 3.然后写会,
如果多个线程同时i++他们之间就可能有冲突 (在jvm 的时候也是这个例子)
...
SpringBoot第一章 入门
1、Spring Boot 简介
简化Spring应用开发的一个框架;
整个Spring技术栈的一个大整合;
J2EE开发的一站式解决方案;
2、微服务
2014,martin fowler
微服务:架构风格(服务微化)
一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;
单体应用:ALL IN ONE
微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;
详细参照微...
第一个Spring Boot开发的小程序
1.创建一个Spring Boot项目2.加入Spring Boot的父级和起步依赖3.创建Spring Boot的入口main方法4.创建一个Spring mvc的Controller5.运行Spring Boot的入口main方法
Spring Boot下的Spring mvc
Spring Boot 下的Spring mvc:@Controller 即为Spring mvc的注解,处理http请求@RestController Spring4后新增注解 是@Controller与@ResponseBody的组合注解 用于返回字符串或json数据 例如: MVCController文件中:@RestController
public c...
Spring boot 事务支持
1.在入口中使用注解@EnableTransactionManagement开启事务支持2.在访问数据库的Service方法上添加注解@Transactional即可。
Spring boot 实现 RestFull
RestFull 简介RESTFull是一种互联网软件架构设计的风格,但它不是标准,它只是提供了一组客户端和服务器交互时的架构理念和设计原则,基于这种理念和原则设计的接口可以更简洁、更有层次。任何的技术都可以实现这种理念。如果一个架构符合REST原则,就称它为RESTFull架构例如:访问一个http接口:http://localhost:8080/api/order?id=1521&st...
Spring boot 的热部署插件
Spring boot 的热部署插件在实际开发中,修改某些代码逻辑功能或页面都需要重启应用,降低开发效率热部署是指当我们修改代码后,服务能自动重启加载新修改的内容,这样大大提高了开发的效率Spring boot热部署通过添加一个插件实现插件为:spring-boot-devtools,在Maven中配置如下:<dependency>
<groupId>org.spri...
springboot 整合 MyBatis 使用generator自动生成代码
目录结构:application.propertiesserver.port=8080
spring.datasource.name=mysql_test
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#druid相关配置
#监控统计拦截的filters
spring.datasource.druid.filters=...
jq获取时间,不足2位时补0
function Appendzero(obj)
{
if(obj<10) return "0" +""+ obj;
else return obj;
}
echarts 坐标文字超长字符用....显示,鼠标移上名称能够显示全称
//折线图
var line = echarts.init(document.getElementById("echarts_2"));
line.setOption({
xAxis: {
type: 'category',
data: xdata,
axisLabel: {
...
linux下安装环境(JDK+TOMCAT+Mongodb+zookeeper单机+kafka单机)
安装JDK
1.查询虚拟机自带的jdk
rpm -qa|grep gcj
2.如果存在自带的jdk,进行卸载
显示内容其中包含相应信息
# java-x.x.x-gcj-compat-x.x.x.x-xxjpp
# java-x.x.x-gcj-compat-devel-x.x.x.x-xxjpp
卸载
# rpm -e --nodeps java-x.x.x-gcj-compa...
linux下-bash: ***: command not found解决办法
今天在阿里云虚拟机上配置环境时出现-bash: ***: command not found错误,网上找了一下,方法如下:
如输入ls: 出现 -bash: ls: command not found
ipconfig 出现 -bash: ipconfig: command not found
先 echo $PATH 发现 .显示JAVA_HOME/bin:....
js禁止浏览器使用backspace键后退网页及禁止所有后退操作
禁止浏览器使用backspace键后退网页
<script>
//禁止浏览器使用backspace键后退网页
function banBackSpace(e) {
var ev = e || window.event;
//各种浏览器下获取事件对象
var obj = ev.relatedTarget || ev.srcElement || ev.target || ev.cu...
DirectX 12 持续整理 ——1. 向量
跳过线性代数的数学概念部分。
绝大部分内容来自于《Introduction to 3D Game Programming with DirectX12 Frank D. Luna》
[TOC]1.编译环境 在Windows 8以及更高版本的操作系统中,DirectX Math 是一个用于 Direct3D 的 3D 数学库,它已经是Windows SDK的一部分了,并且使用了 SSE2 指令集
今日推荐
周排行