自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 java面试题

java面试必看redisredis使用场景?redis单线程还是多线程?遇到过缓存穿透吗?遇到过缓存击穿吗?如何避免缓存雪崩?缓存回收策略?如何进行缓存预热?数据库与缓存不一致?redis主从不一致问题?redis持久化原理redis扛不住了,万级流量达到DB上为什么使用setnX?分布式锁?redis存储redisredis使用场景?string、list(队列)、hash(hmset)、set(统计网站访问ip)、zset(top10)缓存、服务无状态化、锁(redison)及时性、数据一致

2021-07-05 15:59:08 348

转载 java面试题上

2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的CSDN博客。在修订的过程中,参照了当时JDK最新版本(Java 7)给出了题目的答案和相关代码,去掉了EJB 2.x、JSF等无用内容或过时内容,补...

2018-09-06 21:20:52 654

原创 根据进程查看端口

有时候需要查看一个进程占用了那个端口,但是只知道进程大致的名称,比如要查看hadoop的namenode在哪个端口上运行,以便在eclipse中连接。一种方法如下,可能比较搓,请大牛指教!首先用ps命令查看进程的id: $ ps -ef | grep Name其中每一行(很长的时候会占用若干行)的第二个字段就是进程的id。 当然,对于在java虚拟机中运行的进程,比如h...

2018-09-01 19:47:49 1744

原创 面试题

转史上最全Java面试题(带全部答案)2018年05月27日 22:57:06阅读数:11469今天要谈的主题是关于求职,求职是在每个技术人员的生涯中都要经历多次。对于我们大部分人而言,在进入自己心仪的公司之前少不了准备工作,有一份全面细致面试题将帮助我们减少许多麻烦。在跳槽季来临之前,特地做这个系列的文章,一方面帮助自己巩固下基础,另一方面也希望帮助想要换工作的朋友。 相...

2018-08-21 22:23:30 1197

原创 分布式事务解决方案

前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证?!在搜索广告系统中,当用户点击某广告后,除了在...

2018-08-13 18:32:06 273

原创 volatile是非原子性 AtomicInteger原子性

import java.util.concurrent.atomic.AtomicInteger;/* * volatile不是原子性的,它只保证变量在多线程中可见,操作时并不是线程安全的 * AtomicInteger 是原子性的 */public class sub extends Thread{    public static volatile int a;    priv...

2018-08-05 21:51:30 443

原创 mysql acid

本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB一、事务的基本要素(ACID)  1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。   2、一...

2018-08-05 17:43:11 9162

原创 spring两种请求异步调用扩大吞吐量

方法一:返回DeferredResult方法二:返回Callable//将请求需要执行的业务放入队列package com.atguigu.service;import java.util.Queue;import java.util.concurrent.ConcurrentLinkedQueue;import org.springframework.web.context...

2018-08-01 22:42:37 2126

原创 spring注解驱动执行流程

Spring容器的refresh()【创建刷新】;1、prepareRefresh()刷新前的预处理;    1)、initPropertySources()初始化一些属性设置;子类自定义个性化的属性设置方法;    2)、getEnvironment().validateRequiredProperties();检验属性的合法等    3)、earlyApplicationEvents=...

2018-08-01 16:31:25 1772

原创 spring整合aspects做aop演示

第一步:接入spring 和aspects依赖    <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context</artifactId>            <version&g...

2018-07-31 17:00:02 3108

原创 SpringBoot根据注解@Conditional判断注入那个对象 这里以判断操作系统为例

/* * 需要被注入对象的接口 */public interface User {    public void getOsName();} /* * 被注入对象 */public class WindowUser implements User{    public void getOsName() {        System.out.println("windo...

2018-07-30 21:57:10 3364

原创 could not get the value for parameter encoding forplugin execution default resources 处理

 因为 我不是引入默认的路径是我重新 在别的盘新建了一个文件夹。但是其他配置都修改好 应该不会出这个问题,查了很久才找到这个解决办法。 删除jar 包之后  其实很简单 在你需要跟新的项目右键 找到maven --》 然后 update projuect... 然后 点击force update of snapshots/releases 勾选上即可等待片刻 你得项目就回自动编译正...

2018-07-30 18:19:13 1577 1

原创 java动态代理实现与原理详细分析

cglib代理与JDK中的代理比较:     JDK动态代理: 只能代理实现了接口的类     没有实现接口的类不能实现JDK动态代理。 Cglib代理: 针对类来实现代理,对指定目标 产生一个子类 通过方法拦截技术拦截所有父类方法的调用。 我们要使用cglib代理必须引入 cglib的jar包spring中使用aspat 做面向切面编程都是依赖以上两种动态代理模式实现的jdk动态代...

2018-07-29 20:07:36 336

原创 eclipse中使用Lombok

eclipse中使用Lombokwindows环境 1.下载lombok.jar包https://projectlombok.org/download.html 2lombok.jar 拷贝到eclipse.ini同等目录下面 springboot整合lombok新建logback-spring.xml文件<?xml version="1.0" encodin...

2018-07-25 12:13:39 885

原创 eclipse配置lombak使用@Slf4j

使用@Slf4j代替LoggerFactory创建logger对象windows环境1.下载lombok.jar包https://projectlombok.org/download.html2  lombok.jar 拷贝到eclipse.ini同等目录下面3   配置文件eclipse.ini中是否 添加了如下内容:           -javaagent:lombok.ja...

2018-07-25 10:56:12 3565

原创 eclipse快捷键

debug快捷键 1.表示当前实现继续运行直到下一个断点,快捷键为F8。2.表示打断整个进程3.表示进入当前方法,快捷键为F5。4.表示运行下一行代码,快捷键为F6。5.表示退出当前方法,返回到调用层,快捷键为F7。6.表示当前线程的堆栈,从中可以看出在运行哪些代码,并且整个调用过程,以及代码行号...

2018-07-25 10:47:38 181

原创 cmd window关闭端口程序

window关闭端口程序1. netstat -nao | findstr “8080” 查询8080端口 2. taskkill /pid 3017 /F 关闭pid为3017的进程  

2018-07-25 10:45:34 4567

原创 RDB与AOF的选择

AOF定义:以日志的形式记录每个操作,将Redis执行过的所有指令全部记录下来(读操作不记录),只许追加文件但不可以修改文件,Redis启动时会读取AOF配置文件重构数据 换句话说,就是Redis重启就会根据日志内容从头到尾执行一次来完成数据的恢复工作。Tip:  一.RDB与AOF同时开启  默认先加载AOF的配置文件  二.相同数据集,AOF文件要远大于RDB文件,恢复速度慢于RDB  三.A...

2018-07-05 14:45:51 871

原创 mysql优化查询效率方法总结(重)

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from ...

2018-06-30 17:58:37 230

原创 mysql优化之分表

一个数据表里边存储的记录信息太多了,记录的条数达到1-2亿条信息。这是该数据表的活性就大大降低,数据表的运行速度就比较慢、效率低下,影响mysql数据库的整体性能。现在设置一个水平分割,把许多的记录信息分别存储到不同的数据表里边,这样每个表存储的记录就比较少,该表的活性大大提高。 分表设计的两种模式:① 逻辑方式分表mysql数据库本身就有分表技术,该方式的分表可以节省java/php等语言的逻辑...

2018-06-30 17:40:35 233

原创 mysql中myisam和innodb区别

  存储引擎保存数据的格式(技术),不同格式体现特性不一样myisam    结构、数据、索引 文件单独存储    不支持事务    不支持外键    锁整张表    DQL效率高innodb    结构有单独文件,数据和索引合并到一个文件中    并发性,高,锁行      DML效率高     支持事物  ...

2018-06-30 16:32:58 325

原创 mysql索引优化

myisam(锁表,不支持事物)引擎下创建索引几种方式方法一:创建表时创建索引方式二:使用使用alter给列添加索引    删除索引: 

2018-06-30 15:51:47 139

原创 本机配置https

1、进入到jdk下的bin目录:cd %JAVA_HOME%/bin 2:再运行:keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\test\tomcat.keystore -validity 36500 (D盘要先建好test文件夹,否则会报不存在。参数简要说明:“D:\home\tomcat.keystore”含义是将证

2018-01-31 09:24:00 8474

原创 redis集群原理

36套java进阶高级架构师视频+38套大数据视频  保证全是硬货需要的+微信:du13797566440redis集群原理    redis是单线程,但是一般的作为缓存使用的话,redis足够了,因为它的读写速度太快了。      官方的一个简单测试:      测试完成了50个并发执行100000个请求。      设置和获取的值是一个256字节字符串。      ...

2018-01-19 09:09:34 599

原创 ajax发送json字符串

/** * ajax 传入json 字符串类型spring后台可以使用requestBody接收 * JSON.stringify(data)  将js对象转json字符串, 不然后台可能不能直接接收js对象 */function JQAjaxContentTypeLoading(url, data, successfn ) { var ajaxSettings = { url :  url,

2018-01-18 08:56:12 2582

原创 spring中使用servlet拦截器实现防止sql注入

/** * 描述:防止sql注入 * 作者: dlj * 时间: 2018年1月16日 上午9:37:04 */public class AntiSqlInjectionfilter implements Filter {private Logger logger = LoggerFactory.getLogger(AntiSqlInjectionfilter.class)

2018-01-16 09:39:55 2407 1

原创 springmvc配置统一异常处理器+自定义异常

创建统一返回的json对象public class AjaxResponse{/*** */private static final long serialVersionUID = 1L;private int code; /** 状态对应的描述 **/private String msg;/** 扩展字段 **/private String

2018-01-16 09:06:36 2466

原创 centos克隆+固定ip

 36套java进阶高级架构师视频+38套大数据视频  保证全是硬货需要的+微信:du13797566440配置文件方式配置网络vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0TYPE=EthernetONBOOT=yesBOOTPROTO=staticIPADDR=192.168.0.XNETMA...

2018-01-11 20:44:12 194

原创 创建用户组并授权某文件权限

useradd u1 添加用户1useradd u2 添加用户2groupadd 创建名为q1的组gpasswd  -a  u1 q1 给用户u1添加到q1中gpasswd  -a  u2 q1 给用户u2添加到q1中grep  g1 /etc/group (或者 cat etc/group |grep g1)mkdir -p /test/software  创建目

2018-01-10 20:12:29 1278

原创 sping解决post和get中文乱码(get请求有坑)

SpringMVC学习系列-后记 解决GET请求时中文乱码的问题之前项目中的web.xml中的编码设置:filter> filter-name>CharacterEncodingfilter-name> filter-class>org.springframework.web.filter.CharacterEncodingFil

2018-01-08 11:06:26 1621

原创 netty使用jboss的Marshalling编解码(对象序列化)

首选映入netty-all-5.0.0.Alpha2.jar  jboss-marshalling-serial-1.3.0.CR9.jar  jboss-marshalling-1.3.0.CR9.jar 包/** * 客户端 */public class Client {//内部类的懒加载private static class SingletonHolder {

2018-01-04 22:47:02 1146 1

原创 maven打可执行jar包

${project.build.directory}/classessrc/main/resourcestrue**/*.xml**/*.properties${project.build.directory}/classes/META-INFsrc/main/resourcestruespring-context.xml -->

2018-01-02 21:38:51 291

原创 网络编程之基于nio的Netty框架Demo

首选引入netty jar包/** * @author dlj2018年1月2日 * netty服务端,实现异步非阻塞处理消息 */public class Server {public static void main(String[] args) throws Exception {//1 第一个线程组 是用于接收Client端连接的EventLoopG

2018-01-02 18:01:09 802

转载 socket io网络编程demo

/** *服务端代码 */public class Server {final static int PROT = 8765;public static void main(String[] args) {ServerSocket server = null;try {server = new ServerSocket(PROT);System.ou

2018-01-01 21:24:21 383

原创 多线程之读写锁ReentrantReadWriteLock

/**重入锁ReentrantReadWriteLock(软穿特lock) * 口诀:读读共享(不加锁),读写互斥(加锁),写写互斥 (加锁)  */public class worker  {ReentrantReadWriteLock lock=new ReentrantReadWriteLock();//创建锁ReadLock readlock= lock.readLoc

2017-12-30 15:57:50 184

原创 多线程之可重入锁ReentrantLock

import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;/**重入锁Reentran

2017-12-30 15:40:01 273

原创 多线程semaphore限流

import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;/**java Semaphore限流 */public class worker  {public static vo

2017-12-30 13:57:32 1433

原创 jdk中future模式

  36套java进阶高级架构师视频+38套大数据视频  保证全是硬货需要的+微信:du13797566440 import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;im...

2017-12-30 13:20:06 470

原创 concurrent包下的CountDownLatch用法

36套java进阶高级架构师视频+38套大数据视频  保证全是硬货需要的+微信:du13797566440/** * worker.java * 2017年12月27日 * Administrator */package cn.itcast.dao;import java.util.concurrent.CountDownLatch;import java.util.con...

2017-12-30 12:17:59 476

原创 concurrent包下的CycicBarrier用法

import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * Cycli

2017-12-30 12:01:45 641

空空如也

空空如也

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

TA关注的人

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