自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 CPU中的cache结构以及cache一致性

一. 引子  在多线程环境中,经常会有一些计数操作,用来统计线上服务的一些qps、平均延时、error等。为了完成这些统计,可以实现一个多线程环境下的计数器类库,方便记录和查看用户程序中的各类数值。在实现这个计数器类库时,可以利用thread local存储来避免cache bouncing,从而提高效率。注意,这种实现方式的本质是把写时的竞争转移到了读:读得合并所有写过的线程中的数据,而不可...

2019-03-01 14:21:45 1247

原创 《Java并发编程的艺术》学习笔记 —— 第1章并发编程的挑战

并发编程的目的:       并发编程的目的是通过合理的利用,软件与硬件的性能,让程序的运行速度更快,所以并不是启动更多的线程就可以让程序最大程度的并发执行。上下文切换:      即使是单核处理器也支持多线程执行代码, 多线程的实现方式是通过CPU给每个线程分配时间片来实现这个机制,因为时间片非常短,所以CPU通过不停的切换时间片,让我们感觉多线程并发执行,时间片一般是几十毫秒(ms...

2019-01-17 10:43:35 268

转载 jvm理论-字节码指令

 Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)而构成。基本数据类型1、除了long和double类型外,每个变量都占局部变量区中的一个变量槽(slot),而long及double会占用两个连续的变量槽。2、大多数对于boolean、byte、short和char...

2018-08-31 10:42:20 317

原创 spring data jpa NamingStrategy

application.yml 写法 无修改命名 spring:  jpa:  hibernate:  naming:  physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl 遇到大写字母 加”_”的命名 spring:  jpa: ...

2018-08-23 10:00:27 2773

转载 spring boot 继承WebMvcConfigurationSupport后自动配置不生效问题

 在spring boot的自定义配置类继承 WebMvcConfigurationSupport 后,发现自动配置的静态资源路径(classpath:/META/resources/,classpath:/resources/,classpath:/static/,classpath:/public/)不生效。  首先看一下 自动配置类的定义:   这是因为在 springboo...

2018-08-14 20:09:19 3268

原创 配置FastJson自定义消息转化器

一.fastJson简介fastJson是阿里巴巴旗下的一个开源项目之一,顾名思义它专门用来做快速操作Json的序列化与反序列化的组件。它是目前json解析最快的开源组件没有之一!在这之前jaskJson是命名为快速操作json的工具,而当阿里巴巴的fastJson诞生后jaskjson就消声匿迹了,不过目前很多项目还在使用。今天,我们使用fastJson来配置消息转换器,过滤并修改返回的...

2018-08-14 19:08:13 9068

转载 企业实战之spring项目《接口响应体格式统一封装》

前言在之前的文章中我们有介绍过,如何更好、更简单的写好一个接口(接口返回值篇),今天的这篇文章我们主要介绍,怎么统一处理下接口的返回格式问题。问题分析我们先来分析下我们所面临的问题在哪里,然后接着给出解决方案。在写一个接口时,我们通常会先统一定义一下接口的返回格式是什么,然后在跟前端去对接,通常的返回格式大体两种(我们以保存用户为例):1. 成功/失败响应格式不一致(此种方式作为我...

2018-08-08 16:40:10 292

转载 JVM字节码之整型入栈指令(iconst、bipush、sipush、ldc)

官网:http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html原文地址:http://www.linmuxi.com/2016/02/25/jvm-int-pushstack-01/本篇主要分享下在JVM中int类型数值采用何种指令入栈的,根据int值范围JVM入栈字节码指令就分为4类,下面分别介绍下这四类指令。前言...

2018-07-25 11:20:54 22967 5

转载 TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute

1.IMCP协议介绍前面讲到了,IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是ICMP(网络控制报文)协议。当传送IP数据包发生错误--比如主机不可达,路由不可达等等,ICMP协议将会把错误信息封包,然后传送回给主机。给主机一个处理错误的机会,这 也就是为什么说建立在IP层以上的协议是可能做到安全的原因。ICMP数据...

2018-07-03 15:48:54 161

转载 TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议

把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息。数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息。1.IP协议IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输。要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后的处...

2018-06-28 10:24:11 155

转载 动态规划算法

动态规划的英文名叫Dynamic Programming,是一种分阶段求解决策问题的数学思想。它不仅用于编程领域,也应用于管理学、经济学、生物学总结一点就是大事化小,小事化了 题目:求楼梯阶数有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。比如,每次走1级台阶,一共走10步,这是其中一种走法。我们可以简写成 1,1,1,1,1,1,1,...

2018-06-14 15:22:23 365

转载 TCP/IP详解学习笔记(2)-数据链路层

数据链路层有三个目的: 为IP模块发送和 接收IP数据报。 为ARP模块发送ARP请求和接收ARP应答。 为RARP发送RARP请 求和接收RARP应答ip大家都听说过。至于ARP和RARP,ARP叫做地址解析协议,是用IP地址换MAC地址的一种协议,而RARP则叫做逆地址解析协议,在tcp/ip协议的后面章节会介绍它们(在局域网里面用ARP协议可以很容易的搞瘫痪网络哦)数据链路层的...

2018-06-13 17:12:43 154

转载 TCP/IP详解学习笔记(1)-基本概念

为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。 但是简单的连到一起是远远不够的,就好像语言不...

2018-06-13 11:15:19 159

转载 字符编码笔记:ASCII、Unicode、UTF-8 和 Base64

1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态(-128~127),这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字...

2018-06-07 09:15:50 250

转载 jinfo 使用

jinfo 是jdk自带的一个工具,它可以用来查看正在运行的java应用程序的扩展参数(JVM中-X标示的参数);甚至支持在运行时修改部分参数。1、通过以下的命令你便能看到JVM中哪些flag可以被jinfo动态修改:[html] view plain copy# java -XX:+PrintFlagsFinal -version|grep manageable       intx CMSAb...

2018-06-05 14:15:49 2265

原创 sql server 将一个以特定字符分开的参数转换成多行

FID url-------------------- ---------------------100 [04],[1402],[9999],[0106]在实际应用是经常会碰到这种参数,在sql中直接调用不了必须进行处理才能使用在in或这别的场景中with base_para as ( select URL=cas...

2018-05-30 11:13:44 1501

原创 sql server 查看索引碎片大小,并定期重建索引

查看碎片情况使用  dbcc showcontig 函数来进行代码:--改成当前库use DB_Name--创建变量 指定要查看的表declare @table_id intset @table_id=object_id('TableName')--执行dbcc showcontig(@table_id)返回结果:上边实例的表比较大..一张表占用的实际物理空间就有24个G(数据20G+...

2018-05-29 17:35:06 13876 1

原创 sql server Cursor_status

句法SQL复制CURSOR_STATUS ( { 'local' , 'cursor_name' } | { 'global' , 'cursor_name' } | { 'variable' , 'cursor_variable' } ) 参数'local' 指定一个常量,指示游标源是...

2018-05-29 17:26:08 2117

原创 sql server c001f011错误

SQL2008数据库总会出现从 IClassFactory 为 CLSID 为 {17BCA6E8-A95D-497E-B2F9-AF6AA475916F} 的 COM 组件创建实例失败,原因是出现以下错误: c001f011。 (Microsoft.SqlServer.ManagedDTS)------------------------------从 IClassFactory 为 CLSID...

2018-05-29 10:03:43 5189

原创 sql server 查看sql性能消耗

1. 查询sql所消耗io性能set statistics io on  select * from t_his_card_log where fyid = '0301014'set statistics io off 2.查看SQL语句时间消耗set statistics time on      select * from dbo.jx_order where order_time>'2...

2018-05-25 17:59:35 4682

转载 Java8内存模型—永久代(PermGen)和元空间(Metaspace)

一、JVM 内存模型  根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。  1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法出口等信息。栈的大小可以固定也可以动态扩展。当栈调用深度大于JVM所允许的范围,会抛出Stack...

2018-05-25 10:18:29 115

转载 spring mvc使用ehcache

需要用到的jar包ehcache-2.7.5.jar(主程序)ehcache-spring-annotations-1.2.0.jar(注解)guava-r09.jar(依赖)slf4j-api-1.6.6.jar(依赖)配置文件####spring配置中需要添加如下内容 头部xmlns:cache="http://www.springframework.org/schema/cach...

2018-05-24 16:41:16 421

转载 使用 SQL SERVER PROFILER 监测死锁

作为DBA,可能经常会遇到有同事或者客户反映经常发生死锁,影响了系统的使用。此时,你需要尽快侦测和处理这类问题。死锁是当两个或者以上的事务互相阻塞引起的。在这种情况下两个事务会无限期地等待对方释放资源以便操作。下面是死锁的示意图:  本文将使用SQLServer Profiler来跟踪死锁。 准备工作:为了侦测死锁,我们需要先模拟死锁。本例将使用两个不同的会话创建两个事务。 步骤:1、 打开SQL...

2018-05-18 09:03:55 1453

转载 jstack和线程dump分析

一:jstack jstack命令的语法格式: jstack  <pid>。可以用jps查看java进程id。这里要注意的是:1. 不同的 JAVA虚机的线程 DUMP的创建方法和文件格式是不一样的,不同的 JVM版本, dump信息也有差别。本文中,只以 SUN的 hotspot JVM 5.0_06 为例。 2. 在实际运行中,往往一次 dump的信息,还不足以确认问题。建议产生...

2018-05-17 12:06:32 411

转载 使用sp_xml_preparedocument处理XML文档

有时会在存储过程中处理一些XML格式的数据,所以会用到sp_xml_preparedocument,他可以将XML数据进行读取,然后使用 MSXML 分析器 (Msxmlsql.dll) 对其进行分析。我们就可以很容易的在存储过程中得到XML中我们想要的数据。下面的代码就是使用sp_xml_preparedocument读取XML:DECLARE @hdoc intDECLARE @doc va...

2018-05-17 12:02:03 495

转载 使用 SQL SERVER PROFILER 监测死锁,创建警报

sqlserver监控阻塞(死锁)具体情况  公司sqlserver的监控系统主要是采用zabbix监控,但是zabbix的监控只能通过性能计数器给出报警,而无法给出具体的阻塞情况,比如阻塞会话、语句、时间等,所以需要配合sqlserver的一些特性来进行监控,这里给出一个方案:  1.创建阻塞日志表,用于记录阻塞情况  2.新建作业,用于将阻塞情况记录到阻塞日志表中,并发送邮件(如果没有配置邮件...

2018-05-08 11:39:06 1670

原创 System.out,println对多线程的影响,以及主内存与工作内存的同步

先说一下之前对System.out.println的误会先举个例子package com.yigjn.Thread;public class MyThread extends Thread { private int count = 0; @Override public void run() { for (int i = 0; i < 10000; i++) { ...

2018-05-08 10:42:34 4392 2

转载 Sql Server 数据库压缩备份

--压缩备份导出库--定义变量,把备份数据库的QL脚本赋值给变量declare @SqlBackupDataBase as nvarchar(1000)set @SqlBackupDataBase=N'BACKUP DATABASE cyyfhis_20180201 TO DISK = ''D:\cyyfhis_20180201-'+CONVERT(varchar(11),GETDATE(),11...

2018-05-04 08:01:15 2674

原创 Sql Server 事务锁死

sql server 常见的三种事务 1.自动提交事务 是sql server 默认的一种事务,每一个sql语句都会被看作一个事务来处理。 2.显示事务 T-sql标明由BEGIN TRANSACTION 来开始事务,由COMMMIT TRANSACTION来提交事务,ROLLBACK TRANSACTION 来回滚事务 3.隐试事务 使用Set IMPLICIT_TRANSACTIONS...

2018-05-04 08:00:19 1935

springmvc Ehcache

测试springmvc ehcache demo 以及必要的jar包 。

2018-05-30

空空如也

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

TA关注的人

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