自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

转载 高效压缩位图在推荐系统中的应用

作者:vivo互联网服务器团队-Ke Jiachen一、背景用户在浏览游戏中心/应用商店的某些模块内容时,会进行一系列滑屏操作并多次请求游戏推荐业务来进行游戏推荐展示,这段时间我们称之为一个用户session。一个session内用户一般会进行十几次滑屏操作,每次滑屏操作都会请求推荐业务,所以在这个session内游戏推荐需要对推荐过的游戏进行去重,避免出现重复推荐同一款游戏影响用户体验。精简后的业务流程如下所示:用户进行滑屏操作时会触发一次推荐请求,此时客户端会将上一页的黑名单游戏通过游戏中心服务端透传给

2022-05-09 20:30:54 150

转载 Redis 内存优化在 vivo 的探索与实践

作者:互联网服务器团队- Tang Wenjian一、 背景使用过 Redis 的同学应该都知道,它基于键值对(key-value)的内存数据库,所有数据存放在内存中,内存在 Redis 中扮演一个核心角色,所有的操作都是围绕它进行。我们在实际维护过程中经常会被问到如下问题,比如数据怎么存储在 Redis 里面能节约成本、提升性能?Redis内存告警是什么原因导致?本文主要是通过分析 Redis内存结构、介绍内存优化手段,同时结合生产案例,帮助大家在优化内存使用,快速定位 Redis 相关内存异常问题。二、

2022-05-06 18:03:39 153

原创 Spring5源码编译

注意事项:1) 本次编译Spring源码使用的IDEA版本是2020.1版本。2) Spring源码版本是5.2.x。3) Spring官方建议的JDK版本是 JDK 8 update 262 or later。4) Grade版本是gradle-5.6.4。开始编译:git下载Spring5.2.x源码。建议通过码云链接下载。通过git方式下载,不要下载Zip包。下载gradle-5.6.4-bin.zip并存放至本地目录。修改刚刚下载的spring源代码里gradle/wrapper

2021-07-24 11:20:30 783

原创 JDK与zookeeper安装配置

1、下载并解压2、配置/etc/profile环境变量

2018-10-22 09:35:31 5562

原创 Java定时器Timer学习笔记

1、 定时任务调度 基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务。2、 Java中的定时任务调度工具:Timer和Quartz Timer和Quartz区别: 1) Timer由JDK自身提供 2) Quartz时间控制功能更强大 3) 底层实现机制,Timer只有一个后台线程去执行定时任务,而Quartz拥有后台执行线程池,可以使用多个线程去执行定时任...

2018-08-04 08:42:14 241

原创 淘淘商城taotao-image-server.7z文件

淘淘商城taotao-image-server.7z文件 链接: https://pan.baidu.com/s/1c3CFc44 密码: 1bk7 有用的话关注我一下,评论一下,嘿嘿

2018-03-01 09:05:23 3045 44

原创 String源码学习笔记

1、public final class String implements java.io.Serializable, Comparable<String>, CharSequence2、两个重要字段/** The value is used for character storage. */private final char value[];/** Cache the hash code

2018-03-01 08:57:26 235

原创 StringBuilder源码学习笔记

1、public final class StringBuilder extends AbstractStringBuilder implements java.io.Serializable, CharSequence2、几个构造函数 默认构造函数创建一个长度为16的StringBuilder,调用父类的构造函数,父类AbstractStri

2018-03-01 08:56:22 272

原创 Object源码学习笔记

1、 public class Object2、Java通过registerNatives 私有方法注册一些本地方法,通过静态代码调用。private static native void registerNatives();static { registerNatives();}3、hashcode和equals方法。用来判断两个对象是否相等,为什么需要hashCode方法?

2018-03-01 08:54:06 166

原创 Integer源码学习笔记

1、 public final class Integer extends Number implements Comparable<Integer>2、toString( )方法先得到参数i的长度,然后以该长度生成char类型的buf数组,最后以该buf数组作为参数调用new String(buf, true)生成一个String对象。必须先判断Integer.MIN_VALUE,因为getCh

2018-03-01 08:52:37 181

原创 Boolean源码学习笔记

1、public final class Boolean implements java.io.Serializable, Comparable<Boolean>2、public static final Boolean TRUE = new Boolean(true); public static final Boolean FALSE = new Boolean(false);

2018-03-01 08:50:27 264

转载 Java基础知识

今天在牛客网刷题时碰到了这样一道题,感觉是很基础的知识点,但是要做出来并不容易,先来看一下题目[java] view plain copy/**  * Created by zmt on 2016/12/22.  */  public class Test {      public static void main(Stri

2018-01-10 10:26:06 130

原创 ajax上传带文件的form表单,springmvc接收

ajax上传带文件的form表单,springmvc接收

2017-12-13 22:29:17 5103 1

转载 Eclipse下Maven工程多模块继承和聚合创建(详解)

转载:原文出处点击打开链接①创建queen-parent工程为了便于管理,我们新建一个文件夹管理我们新建的工程,点击图中小三角->Top Level Elements->Working Sets,如图:然后,我们在工程左边空白区域右键 -> Java Working Set点击 Finish,工程如下:然后,我们开始创建q

2017-12-08 22:08:47 2929

转载 $.ajax 中的contentType为application/json时,服务端接收不到数据

$.ajax 中的contentType在 cnodejs.org 论坛中有一个问题,让我也很奇怪,说是 $.ajax 设置数据类型 applicaiton/json之后,服务器端(express)就拿不到数据,好奇之下,就去翻了翻资料,发现了一个自己也没有注意到的事。于是有了这篇文章。正文$.ajax contentType 和 dataType , conten

2017-11-24 11:15:25 5425 1

转载 2.3网站的高可用架构之高可用数据

不同于高可用应用和服务,由于数据存储服务器上保存的数据不同,当某台数据存储服务器宕机时,数据访问请求不能切换到集群任意集群上。保证数据高可用的手段主要是数据备份和失效转移机制。1、高可用的数据通常有一下几层含义:数据持久性、数据可访问性、数据一致性。为了保证数据的高可用,网站通常会牺牲一些数据的一致性。具体来说,数据一致性又分为以下几点:1.1、数据强一致各个副本的

2017-11-23 09:33:54 305

转载 2.2网站的高可用架构之高可用服务

可复用的模块为业务产品提供基础公共服务,大型网站中这些服务通常都是独立的分布式部署,被具体应用远程调用,可复用的服务和应用一样,也是无状态的服务,因此可以利用类似负载均衡的失效转移策略实现高可用的服务。高可用的服务策略有以下几点。1、分级管理运维上将服务器进行分级管理,核心应用及服务使用更好的资源,例如订单服务、支付服务比评价服务有更高的优先级。同时在部署上也要进行必要的分离,低优先级的服

2017-11-22 17:29:56 184

转载 2.1网站的高可用架构之高可用应用

应用层主要处理业务逻辑,显著的一个特点是应用的无状态性,所谓无状态性指的是应用服务器不保存业务上下文信息,仅仅根据每次提交的请求进行相应的业务逻辑处理,多个服务器实例之间完全对等,请求提交到任何一个服务器,处理结果都是完全一样的。应用服务器的无状态性也有利于网站的伸缩性,可以方便的往集群中添加服务器,通过负载均衡机制,来缓解其余服务器压力。1、利用负载均衡进行无状态服务的失效转移

2017-11-22 17:09:53 327

原创 SSH登录原理及免密登录

免密登录设置1、进入到我的home目录  cd ~/.ssh2、生成ssh免登陆秘钥ssh-keygen -t rsa (四个回车)     执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)3、将公钥拷贝到要免登陆的机器上4、将公钥添加到要免登陆机器的.ssh文件夹下的authorized_keys中,确保该文件权限为600.     ca

2017-11-18 14:25:56 6075 3

原创 CentOS6.4下ping外网设置

1、如图所示,要确保centos的IP地址、vmvare虚拟网关地址、windows中vmnet8的网关在同一网段,我测试的网段是192.168.25.*。2、配置vmvare3、Windows中虚拟网关设置4、centos下IP地址设置5、设置完

2017-11-17 20:46:44 760

转载 数据库事务的四大特性

本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。  如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响

2017-11-16 14:01:01 560

原创 hibernate主键生成机制

1、assigned主键由外部程序负责生成,在save()之前需要设置该id,与hibernate和数据库都无关 2、identity由底层数据库生成,该主键必须设成自动增长,因此底层数据库需支持自动增长,如DB2、SQL Server、MySQL、Sybase和HypersonicSQL等,Oracle这类没有自增字段的则不支持。如果使用MySQL数据库,则主键字段

2017-11-16 12:02:25 289

原创 使用包装设计模式实现自己的数据源

package com.lwh.datasource;import java.io.InputStream;import java.io.PrintWriter;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.SQLFeature

2017-11-15 22:15:53 410

原创 使用JDK动态代理方式实现自己的数据源

package com.lwh.datasource;import java.sql.Connection;import java.sql.SQLException;import javax.sql.DataSource;import com.mysql.jdbc.PreparedStatement;public class MyDataSourceClient { priv

2017-11-15 22:13:59 179

转载 Spring中的CharacterEncodingFilter--forceEncoding为true

转载:原文出处点击打开链接在项目中有很多让人头疼的问题,其中,编码问题位列其一,那么在Spring框架中是如何解决从页面传来的字符串的编码问题的呢?下面我们来看看Spring框架给我们提供过滤器CharacterEncodingFilter1.看清结构:可以看到其继承GenericFilterBean和OncePerRequestFilter,也就是说,这个

2017-11-14 09:16:25 1259

转载 Spring MVC静态资源处理

转载:原文出处点击打开链接优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往使用 *.do 、 *.xhtml等方式。这就决定了请求URL必须是一个带后缀的URL,而无法采用真正的REST风格的URL。如果将Dispatc

2017-11-14 09:13:36 145

原创 Spring4+Mybatis3+SpringMC

1.环境Jdk 8,tomcat7, spring4, mybatis32.项目结构                                                                              3.web.xml MyBlog characterEncodingFilter org.springf

2017-11-10 22:25:06 178

原创 Spring与Ehcache整合

package cn.itcast.cache.ehcache;import java.io.Serializable;public class User implements Serializable{ private String name; private int age; public User(String name, int age) { this.n

2017-10-29 15:29:36 363

原创 Cglib动态代理

package cn.itcast.proxy.cglib;//只有实现类,没有接口public class UserDaoImpl { public void save(){ System.out.println("保存用户"); }}package cn.itcast.proxy.cglib;import java.lang.reflect.Method;imp

2017-10-29 10:38:07 136

原创 JDK动态代理

package cn.itcast.proxy;public interface UserDao { void save(); void update();}package cn.itcast.proxy;public class UserDaoImpl implements UserDao { @Override public void save() {

2017-10-29 10:11:10 139

转载 springmvc工作原理以及源码分析(基于spring3.1.0)

转载:原文出处点击打开链接springmvc工作原理以及源码分析(基于spring3.1.0)  springmvc是一个基于spring的web框架.本篇文章对它的工作原理以及源码进行深入分析.  一、springmvc请求处理流程  二、springmvc的工作机制  三、springmvc核心源码分析  四、谈谈springmvc的优化一、sp

2017-10-27 11:07:50 173

转载 Java中能否利用函数参数来返回值

我们在写代码时通常会遇到一种情况,就是我们可能希望在一个函数操作完成后返回两个值,这两个值互不关联并且不希望以数组的形式返回,甚至这两个返回值都不属于同一种类型,这种情况下在C或C++中可以轻易的使用一个引用的参数来将想要返回的值作为参数传入函数,等函数执行完毕后就可以得到你想要的“返回值”了。 但是这种情况在Java中可能就没有那么轻易了,我们知道Java语言最大的一项改变就是隐藏了类似C或

2017-10-11 09:06:21 360

原创 带头节点的双链表及其基本操作(Java实现)

package lwh.linearlist.linklist;public class DbNode { protected int e; protected DbNode next; protected DbNode previous; public DbNode(){} public DbNode(int e){ this.e = e;

2017-10-11 08:41:15 824

原创 不带头节点的单链表及其基本操作(Java实现)

package lwh.linearlist.linklist;public class Node { protected int e; protected Node next; public Node(){}; public Node(int e){ this.e = e; } public Node(int e, Node next){

2017-10-11 08:39:42 3273

原创 带头节点的单链表及其基本操作(Java实现)

package lwh.linearlist.linklist;public class Node { protected int e; protected Node next; public Node(){}; public Node(int e){ this.e = e; } public Node(int e, Node next){

2017-10-11 08:37:50 3511 1

原创 在带头节点的单链表中,删除所有值为x的节点(Java实现)

方法一:public void deleteAllx1(int x){ Node p = head.next; Node q = head; while(p != null){ while(p != null && p.e != x){ q = p; p = p.n

2017-10-07 10:13:30 4075 2

转载 Java中Object的clone()及浅拷贝、深拷贝分析

首先,看一下源码: public class Object { protected native Object clone() throws CloneNotSupportedException; }  由源代码我们会发现:  第一:Object类的clone()方法是一个native方法,native方法的效率一般来说都是远高于Java中的非native方法。这也解释了为什么要用Ob

2017-09-29 09:08:29 498

转载 Java中boolean类型占用多少个字节

为什么要问这个问题,首先在Java中定义的八种基本数据类型中,除了其它七种类型都有明确的内存占用字节数外,就boolean类型没有给出具体的占用字节数,因为对虚拟机来说根本就不存在 boolean 这个类型,boolean类型在编译后会使用其他数据类型来表示,那boolean类型究竟占用多少个字节?带着疑问,随便网上一搜,答案五花八门,基本有以下几种:1、1个bit理由是boolean类型的值只有t

2017-09-28 19:46:41 313

原创 用Java实现顺序表及其基本操作

package lwh.linearlist.seqlist;import java.util.Arrays;public class SeqList { private int maxLength = 10; private int[] a; private int size; public SeqList(){} public SeqList(int[] b){

2017-09-28 15:17:35 4588 1

转载 最通俗的CRC校验原理剖析

转载:原文出处点击打开链接5.3.2 循环冗余校验检错方案    上节介绍的奇偶校验码(PCC)只能校验一位错误,本节所要介绍的循环冗余校验码(CRC)的检错能力更强,可以检出多位错误。1. CRC校验原理    CRC校验原理看起来比较复杂,好难懂,因为大多数书上基本上是以二进制的多项式形式来说明的。其实很简单的问题,其根本思想就是先在要发送的帧后面附加一个数(这个就是用来校

2017-09-25 22:27:56 206

搭建Solr集群

搭建Solr集群 淘淘商城 第七天 好资源

2018-04-29

Java多线程笔记

多线程学习笔记,好资源。包括线程基础等知识多线程学习笔记,好资源。包括线程基础等知识

2018-03-11

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

TA关注的人

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