-
c#连接sqlserver数据库
本文将详细介绍如何使用Connection对象连接数据库。对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库。这些Connection对象为我们屏蔽了具体的实现细节,并提供了一种统一的实现方法。 Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。 SqlC…- 24
- 0
-
JVM性能优化系列-(1) Java内存区域
目前已经更新完《Java并发编程》,《Docker教程》和《JVM性能优化》,欢迎关注【后端精进之路】,轻松阅读全部文章。 Java并发编程: Java并发编程系列-(1) 并发编程基础 Java并发编程系列-(2) 线程的并发工具类 Java并发编程系列-(3) 原子操作与CAS Java并发编程系列-(4) 显式锁与AQS Java并发编程系列-(5) Java并发容器 Java并发编程系列-…- 52
- 0
-
Java电商秒杀系统性能优化(五)——查询性能优化技术之页面静态化
页面静态化 概述 一、静态请求CDN 1.1 回源缓存设置 1.2 有效性判断 1.3 浏览器的三种刷新方式 1.4 CDN自定义缓存策略 二、静态资源部署策略 三、全页面静态化 概述 cdn的核心原理并将静态页面部署到cdn上,之后使用了phantomjs的无头浏览器方案实现了将静态请求和动态请求合并一同部署到cdn上,更进一步的将商品详情页的流量能力提升到极致; 页面静态化,其实就是将动态生成…- 105
- 0
-
Java RESTful 框架的性能比较
在微服务流行的今天,我们会从纵向和横向分解代码的逻辑,将一些独立的无状态的代码单元实现为微服务,可以将它们发布到一些分布式计算单元或者Docker中,并在性能需要的时候及时地创建更多的服务单元。 微服务是一个概念,并没有规定的格式,但是很多厂商和框架都不约而同的采用RESTful的架构,尽管也有一些其它的性能很好的RPC框架。 如何在Java生态圈选择一个轻量级的RESTful框架?可以参考一些其…- 8
- 0
-
Netty游戏服务器实战开发(5):利用Netty打造轻量级RPC组件
简介:什么是RPC? RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。 RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TCP 协议的 RPC。会两方面会直接影响 RPC 的性能,一是传输方式,二是序列化。 Net…- 45
- 0
-
Mina、Netty、Twisted一起学(八):HTTP服务器
HTTP协议应该是目前使用最多的应用层协议了,用浏览器打开一个网站就是使用HTTP协议进行数据传输。 HTTP协议也是基于TCP协议,所以也有服务器和客户端。HTTP客户端一般是浏览器,当然还有可能是其他东西。HTTP服务器,也就是Web服务器,目前已经有很多成熟的产品,例如Apache HTTP Server、Tomcat、Nginx、IIS等。 本文的内容不是讲解如何使用以上的HTTP服务器,…- 3
- 0
-
Netty系列之Netty线程模型
1. 背景 1.1. Java线程模型的演进 1.1.1. 单线程 时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一。 在Java领域当时比较流行的是单线程编程,对于CPU密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间片反而会降低性能。 1.1.2. 多线程 随着硬件性能的提升,CPU的核数越来越越多,很多服务器标配已经达到32…- 20
- 0
-
JVM内存JAVA_OPTS参数说明
-server:一定要作为第一个参数,在多个CPU时性能佳 -Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些 -Xmx:java heap最大值,使用的最大内存 本人在使用eclipse + wtp 的时候 如果需要修改启动服务器时的内存比如tomcat. 在 Run -> Run Configurations...--> 找到该服务器运行的设置 在…- 16
- 0
-
C# 连接Oracle数据库
最近项目要用Oracle数据库,之前没搞过,近2天遇到好多问题,现在总结一下,做个备份。 一、关于Oracle安装 1.服务器端 从Oracle官网下载文件,file1和file2,解压之后安装就行了,注意目录不要有中文和空格。 2.然后配置监听器和服务命名: 2.1.监听器: 2.2.服务命名 3.接着是本地客户端的安装: 3.1 我在这下载的简易客户端:http://pan.baidu.com…- 4
- 0
-
JVM性能优化 Part V:Java的伸缩性
JVM性能优化 Part V:Java的伸缩性 很多程序员在解决 JVM性能问题的时候,花开了很多时间去调优应用程序级别的性能瓶颈,当你读完这本系列文章之后你会发现我可能更加系统地看待这类的问题。我说过 JVM的自身技术限制了 Java企业级应用的伸缩性。首先我们先列举一些主导因素。 主流的硬件服务器提供了大量的内存 分布式系统有大量内存的需求,而…- 4
- 0
-
Java电商秒杀系统性能优化(四)——查询优化缓存之多级优化-接触高性能缓存方案
多级优化缓存 概览 1、缓存设计原则 2、多级缓存方案 一、Redis集中式缓存 1.1 Redis sentinal哨兵模式 1.2 Redis cluster模式 1.3 Redis集中式缓存商品详情页接入 1.4 Redis集中式缓存压测效果验证 二、本地热点缓存 2.1 Guava cache 2.2 实现Guava cache 2.3 本地数据热点缓存压测结果验证 三、nginx pro…- 104
- 0
-
JVM(Java虚拟机)优化大全和案例实战
堆内存设置 原理 JVM堆内存分为2块:Permanent Space 和 Heap Space。 Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。 Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation),New 即 年轻…- 5
- 0
-
Netty游戏服务器实战开发(4):自定义消息池化处理
通过上篇《Netty游戏服务器实战开发(3):自定义消息》我们都知道,客户端发送过来的消息我们服务器通过自定义编解码实现解析每条消息,并且做对应的处理,但是当批量消息到达的时候我们不能做出及时处理,需要将消息放到队列中,然后在进行处理,提高系统的性能。但是上篇介绍的重点是消息的编解码,接下来我们介绍消息的处理,并且利用线程池化技术实现消息队列处理。 首先我们来复习一下java提供的几种队列模型。 …- 3
- 0
-
Mina、Netty、Twisted一起学(六):session
开发过Web应用的同学应该都会使用session。由于HTTP协议本身是无状态的,所以一个客户端多次访问这个web应用的多个页面,服务器无法判断多次访问的客户端是否是同一个客户端。有了session就可以设置一些和客户端相关的属性,用于保持这种连接状态。例如用户登录系统后,设置session标记这个客户端已登录,那么访问别的页面时就不用再次登录了。 不过本文的内容不是Web应用的session,而…- 10
- 0
-
Netty系列之Netty高性能之道
1. 背景 \ 1.1. 惊人的性能数据 \ 最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。 \ 事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高性能的…- 7
- 0
-
java内存溢出分析工具:jmap使用实战
java内存溢出分析工具:jmap使用实战 在一次解决系统tomcat老是内存撑到头,然后崩溃的问题时,使用到了jmap。 1 使用命令 在环境是linux+jdk1.5以上,这个工具是自带的,路径在JDK_HOME/bin/下 jmap -histo pid>a.log 2 输出结果摘要 Size Count Class description --…- 342
- 0
-
C# Socket编程
闲着无聊,写了个简单的C/S Socket程序,功能很简单,服务器在9000端口监听socket接入,只要有接入,就发送"Welcome."消息给客户端。 代码分2块,server端: 1class Program 2 { 3 static void Main(string[] args) 4 { 5 TcpListener lsner = new TcpListener(90…- 1
- 0
-
Tomcat 性能调优之 JVM 调优
Tomcat、Jetty、GlassFish 等等这系列 Web容器/应用服务器,虽然做为容器,提供的是一个 Java Web 的运行时环境,以支持Servlet/JSP 等等这些内容的运行,但我们都很清楚,其本质上还是一个 Java 应用程序。 每次对于 容器的启动运行,都是把这个 Java 程序跑起来,来实现 Web 容器的能力。 做为一类“特殊”的 Java 应用程序,和任务其他的 Ja…- 1
- 0
-
JAVA下单接口优化实战TPS性能提高10倍
概述 最近公司的下单接口有些慢,老板担心无法支撑双11,想让我优化一把,但是前提是不允许大改,因为下单接口太复杂了,如果改动太大,怕有风险。另外开发成本和测试成本也非常大。对于这种有挑战性的任务,我向来是非常喜欢的,因为在解决问题的过程中,可以学习到很多东西。 当时我只是知道下单接口慢,但是没人告诉我慢在哪里,也即是说,哪些瓶颈导致下单接口慢了。其实没人知道也没关系的,因为我们可以通过压测来找到具…- 57
- 0
-
Java 8中HashMap的性能提升
HashMap是一个高效通用的数据结构,它在每一个Java程序中都随处可见。先来介绍些基础知识。你可能也知道,HashMap使用key的hashCode()和equals()方法来将值划分到不同的桶里。桶的数量通常要比map中的记录的数量要稍大,这样每个桶包括的值会比较少(最好是一个)。当通过key进行查找时,我们可以在常数时间内迅速定位到某个桶(使用hashCode()对桶的数量进行取模)以及要…- 3
- 0
-
Netty游戏服务器实战开发(3):自定义私有协议栈
Netty自定义私有协议栈 自定义私有协议栈开发,其实就是自己封装一套符合自定义数据包结构的编码器和解码器,从而满足我们的业务需求。 通常我们数据包拆分,一部分为包头,一部分为包体,一个数据包就有两部分构成。 如图所示 对于数据包,我们进行细化,每个部分都有很多基本元素组成,利用这些基本元素,我们能够实现通过解析数据包和封装数据包,能轻松的实现 自定义协议栈的开发。 在包头中我们用 一个short…- 4
- 0
-
使用Netty进行文件传输
一、简介 使用Netty进行文件传输主要涉及到FileChannel文件通道,它用来连接文件,可以通过这个通道读写文件。在使用FileChannel之前必须先打开它,FileChannel无法直接打开,可以通过InputStream、OutputStream或RandomAccessFile来获取FileChannel实例,比如: 1RandomAccessFile file=new Random…- 68
- 0
-
Java内存泄露监控检测工具– JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat
**jstack **-- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到 当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程…- 249
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!