自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(290)
  • 资源 (7)
  • 收藏
  • 关注

原创 mysql的查询优化

1.永远用小结果集驱动大结果集:做 join 查询时,驱动表,一定是条件限定后记录较少的表 2.只查询需要的列 3. 尽量避免复杂的 join 和子查询 4. 尽量在索引列上完成排序和查询...

2018-05-21 08:39:51 136

原创 java多线程(6)

假设这里有一个系统,大概每秒需要处理5万条数据,这5万条数据为一个批次,而这每秒发送的5万条数据需要经过两个处理过程,第一步是数据存入数据库,第二步是对数据进行其他业务的分析 使用线程池的方式的话,可以实现指定线程的数量,这样的话就算再多的数据需要入库,只需要排队等待线程池的线程即可,就不会出现线程池过多而消耗系统资源的情况import java.util.concurrent....

2018-05-19 11:03:05 135

原创 java多线程(5)

线程计数器 CountDownLatchCountDownLatch:它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行public class SummonDragonDemo { private static final int THREAD_COUNT_NUM = 7; private static CountDownLatch countDownL...

2018-05-19 10:25:37 162

原创 java多线程(4)

ReentrantLockReentrantLock 是重入锁的意思,实现了Lock接口ReentrantLock 可以实现线程间的同步,用Condition实现线程间的通信, synchronized 与 wait() 方法和 notify() 方式结合实现线程间通信的时候,notify/notifyAll 的通知等待的线程时是随机的,而condition可以实现选择性通知impo...

2018-05-19 10:03:42 119

原创 java多线程(3)

ThreadLocal1。ThreadLocal:每个线程有自己的值 2。ThreadLocal预Synchronized的区别:ThreadLocal不提供锁,以空间换取时间,为每个线程提供变量的独立副本,以保证线程安全。线程间的通信wait方法: 1. 当前执行代码的线程进行等待 2. wait是释放锁 notify方法 1. notify通知等待该对象的其他线...

2018-05-18 17:29:56 107

原创 多线程的应用场景

1.一个业务逻辑有很多次的循环,每次循环之间没有影响,比如验证1万条url路径是否存在,正常情况要循环1万次,逐个去验证每一条URL,这样效率会很低,假设验证一条需要1分钟,总共就需要1万分钟,有点恐怖。这时可以用多线程,将1万条URL分成50等份,开50个线程,没个线程只需验证200条,这样所有的线程执行完是远小于1万分钟的。...

2018-05-17 14:09:01 275

原创 java多线程(2)

1.synchronized 锁重入:线程请求由自己持有的对象时,如果该锁是重入锁,请求就会成功,否则阻塞 2.synchronized出现异常时,锁自动释放 3.当多个线程要同一个实例时 双重校验锁public class DubbleSingleton { private static volatile DubbleSingleton instance; publ...

2018-05-17 14:02:39 115

原创 java多线程知识(1)

基础概念1.线程和进程:进程有自己的独立空间,而线程共享进程的空间线程通信方便,同一进程的线程共享全局变量,静态数据多进程更健壮,多线程只要有一个线程死掉,整个进程也死2.同步和异步:同步必须等该方法的调用返回 3.并行和并发:并发只是两个任务切换速度快 4.线程安全:当多个线程访问一个类时,这个类始终正确,则这个类是线程安全的(经常用锁) 5.一个对象有一把锁,多个线程...

2018-05-17 13:52:41 117

原创 linux elasticsearch 单机部署

1.去官网下载tar包 2.tar -zxvf 解压 3.启动 ./bin/elasticsearch 4.127.0.0.1:9200查看

2018-05-17 10:10:26 717

原创 linux下安装rabbitmq

echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.listwget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -sudo ...

2018-05-17 09:06:39 121

原创 windows下ElasticSearch和kibana安装

1.去官网ElasticSearch zip包,把bin文件目录配置到path里,双击elasticsearch.bat 去http://localhost:9200/看是否安装成功 2.下载kibana https://www.elastic.co/guide/en/kibana/6.2/windows.html#windows 运行bin\kibana.bat 在h...

2018-05-08 14:46:16 2581

原创 linux下nginx安装

1.在官网上下载最新的包 2.tar -zxvf 下,mv 到/urs/local/nginx里 sudo mv nginx-1.13.3.tar.gz /usr/local/ngnix/ 3.sudo apt-get install libpcre3 libpcre3-dev 和 sudo apt-get install openssl libssl-dev 4.sudo ./

2018-04-27 16:48:21 125

原创 后台微信支付(亲测可用)

微信支付这块确实有点坑,文档不全,例子也报错,预定单都下成功了,app端掉不起微信。经过了无数的坑后,终于成功 paytype=ParkObject.Depositlog_wechat; WxPayModel wxPayModel=new WxPayModel(); wxPayModel.se...

2018-03-20 16:47:13 1112

原创 volatile和synchronized和Java四种锁机制

Java 支持多个线程同时访问一个对象或者对象的成员变量,由于每个线程可以拥有这个变量的拷贝(虽然对象以及成员变量分配的内存是在共享内存中的,但是每个执行的线程还是可以拥有一份拷贝,这样做的目的是加速程序的执行,这是现代多核处理器的一个显著特性),所以程序在执行过程中,一个线程看到的变量并不一定是最新的。 关键字 volatile 可以用来修饰字段,就是告知程序任何对该变量的访问均需要...

2018-03-18 21:40:44 435

原创 spring aop详解

aop就是从一个切面来处理相同的东西,如好多业务都有同一个方法等,你可以对此进行拦截。 首先定义一个切面,在里面实现doBefore,doafter等方法package com.zyd.aop.aspects;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.annotation.*;import org.slf4...

2018-03-16 18:59:28 153

原创 中级java面试

1 ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区别和各自适应的场景是什么? ArrayList,是数组结构:少用与中间的增删。多用于查询,修改。每次增删元素顺序都会操作每个元素。 LinkedList,是链表结构:多用于中间,开头增删。少用查询,修改。查询时会遍历大量元素。2 内存溢出是怎么回事? 对象有被指向的引用,但是再也用不到...

2018-02-28 10:57:13 394

原创 java深浅拷贝及hashmap1.8的源码分析

hashmap1.8的源码分析类定义public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable 由图看出,hashmap1.8的主要优化是当发生多次哈希冲突时加入了红黑树jav...

2018-02-27 09:46:41 327

原创 java多线程相关知识

带参数的join方法,表示至多等待线程A的时间,而无参数的join方法,则会一直等待线程A执行结束等待时wait会释放锁,而sleep一直持有锁BlockingQueue 伪异步机制就是根据这个实现的volatile 它所修饰的变量不保留拷贝,直接访问主内存中的。 在Java内存模型中,有main memory,每个线程也有自己的memory (例如寄存器)。为了性...

2018-02-26 09:29:05 199

原创 java高并发入门(1)

概念脏数据  脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这 个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据(Dirty Data),依据脏数据所做的操作可能是不正确的。  不可重复读  不可重复读是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一...

2018-02-24 09:43:52 269

原创 spring精通系列(4)

Messaging with JMSgit clone https://github.com/spring-guides/gs-messaging-jms.git输出 Sending an email message. Received <Email{to=info@example.com, body=Hello}>Creating Asynchronous Meth...

2018-02-23 16:31:50 151

原创 spring精通系列(3)

Authenticating a User with LDAPgit clone https://github.com/spring-guides/gs-authenticating-ldap.git打开项目并运行输入 ben benspassword 即登录成功,否则会被拦截Validating Form Input> git clone https://...

2018-02-23 15:26:01 164

原创 spring精通系列(2)

spring schedulinggit clone https://github.com/spring-guides/gs-scheduling-tasks.git打开项目 3.修改下代码@Componentpublic class ScheduledTasks { private static final Logger log = LoggerFactory.get...

2018-02-23 14:00:46 418

原创 spring精通系列(1)

spring系列目前仍是主流。所以深入学习spring还是有好处的。下面我将通过例子一步一步学习剖析spring,并深入学习最近很火的spring cloud系列。首先 git clone https://github.com/spring-guides/gs-rest-service.git然后打开idea :这里可以用maven也可以选择gradle构建项目,这两个方式都差...

2018-02-23 13:38:35 535

原创 java后台透传例子

透传是把值推送给手机,安卓端取过来用。package com.park.util.push;import java.io.IOException;import com.gexin.rp.sdk.base.IPushResult;import com.gexin.rp.sdk.base.ITemplate;import com.gexin.rp.sdk.base.impl.Sing...

2018-02-07 15:39:14 10874

原创 spring cloud之eureka_server搭建

eureka:云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。首先从spring.io里面生成项目 pom 文件如下:parent> groupId>org.springframework.bootgroupId> artifactId>spring-boot-starter-parentartifact

2018-02-01 10:02:53 225

原创 spring cloud入门-跑通入门例子

写在面试前1一个月,虽然去年就用springboot 写过项目,但一直没有进军spring cloud,打算在辞职前好好学下spring cloud。 学习项目: 1.https://github.com/gaomengyong/spring-cloud-demo 可以参考这篇: http://blog.csdn.net/u011747152/article/details/7892310

2018-01-31 20:04:35 319

原创 java分页

1.在写接口的时候,经常会用到分页,可以用别人封装好了的分页插件,如mysql的PageHelper。 2.这里我教大家用java自己写的分页工具,分页传给前端的是分页总数,总数量,第几页,一页有多少数量 int pageSize=0; List list = new ArrayList(); if(!"".e

2018-01-29 09:46:50 292

原创 sqlserver解决tempdb过大的问题

sqlserver tempdb过大,是查询sql没有优化的结果#查出最大的spiduse tempdb go SELECT top 10 t1.session_id, t1.internal_objects_alloc_page_count, t1.user_objec

2018-01-24 14:28:58 20555

原创 sqlserver2014 在从服务器上用使用内存表

下面以一个例子来说明内存表的两种形式:持久化和非持久化的 1.搭建主从服务器,主服务器上有两张表做测试(会在从服务器上把这两张表变回持久化内存表和非持久化的内存表,然后重启服务器观看这两个表的区别) 2.右键某张表选内存优化顾问 3.勾选下面一个则是非持久化,不勾则是持久化 4.接下来在主数据库里再这两张表里插入数据,等从服务器同步过来后重启从服务器,我们会发现非持久化的内存表

2018-01-19 18:18:39 674

原创 sqlserver2014 的内存表 建表语句

在sqlserver2014的版本中加入了内存优化表。大大的提高了查询的并发能力。 1.首先下载安装sqlserver2014 2016要window2012版本以上 2.新建一个数据库test 3. 在d盘建一个test文件夹ALTER DATABASE testADD FILEGROUP HekatonFG CONTAINS MEMORY_OPTIMIZ

2018-01-19 15:48:05 2100

原创 eclipse解决项目validate卡住的问题

当项目过大,尤其是前端的js过多时,validate项目常常导致卡住。解决方法是 1. 2. 这里加了**就是排除validation了

2018-01-16 10:00:54 13448

原创 java日期long,String Date转换

在项目中经常会用到日期,这里我也总结了一些常用的方法: 1.相互转换 SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String nowtime = ss.format(new java.util.Date());//转成string java.util.Date date = ss

2018-01-15 15:38:22 336

原创 java netty入门(2)-TCP粘包拆包

1.粘包拆包概念: 就是给服务器发送的包当中,会发生重叠粘在一起,或分开的情况。如图解释:2.netty中提供了多种编码器处理半包: 如LineBasedFrameDecoder和StringDecoder的组合就是按行切换的解码器 他们的原理如图所示: 或者:DelimiterBasedFrameDecoder(按自定义的分隔符解码)和FixedLengthFrameDeco

2018-01-13 13:22:35 280

原创 java netty入门(1)-I/O模型对比

I/O模型对比1.传统的网络(bio)请求是阻塞的,即等到有返回值才处理下一个请求(ServerSocket) 2.伪异步i/o,即在bio基础上加个队列来处理请求 3.NIO模型是非阻塞的,即不需要等到返回值。(SocketChannel) 4.NIO2.0实现了真正的异步I/O(即AIO)下图说明了它们之间的关系:5.netty是业界最流行的NIO框架

2018-01-13 11:21:47 239

原创 java 正则表达式的应用(取出sql中 的占位符)

实际例子1.当有一串sql语句,里面有参数(参数用占位符$表示) 如 select * from test where id=$id and starttime=$starttime or nodeid=$nodeid 就有3个参数我们现在要把参数取出来,并把占位符变成问号 2. Pattern pattern = Pattern.compile("\\$(

2018-01-12 15:38:55 2731

原创 python django入门例子

在windows下安装django1.首先安装python 3.5 版本以上 以及安装pip 2.pip install virtualenvwrapper-win mkvirtualenv myproject 如果退出了可以用workon myproject 再次激活 3.pip install django用django的第一个例子1.输入命令,则在当前目录生成

2018-01-12 14:19:59 383

原创 Lagom 微服务入门(1)

Service Descriptorsnamed("hello").withCalls( namedCall("hello", sayHello))用/hello 调用了sayHello方法def getOrder(orderId: Long): ServiceCall[NotUsed, Order]override def descriptor = { im

2018-01-12 13:44:39 469

原创 Lagom 微服务入门

1.Lagom 中文意思是恰到好处的意思 2.它是lightbend体系下的微服务架构例子1.在 cmd 命令行中输入,一直按enter sbt new https://github.com/lagom/lagom-scala.g8 2.在当前目录下会创建hello的工程 3.进入该工程 cd hello 4.先 输入sbt ,等编译完后,再输入

2018-01-12 13:17:03 1200

原创 scala play 框架(1)

1从配置文件里读取数据. //foo="test" config.getString("foo") //boo= ["bar", "baz"] config.getStringSeq("boo")2.action def echo = Action { request => Ok("Got request [" + request + "

2018-01-12 10:11:08 461

原创 scala play框架的idea 实现

1.首先在windows下安装了sbt 2.在github上下载第一个例子:https://github.com/playframework/play-java-starter-example/tree/2.5.x 3.打开idea open这个项目 4.在terminal命令行中输入sbt run 5.再在网页中查看

2018-01-12 09:13:10 596

java学习资料

各种java基础,多线程,Io,多态,等各种基础java代码

2017-10-11

java设计模式

java设计模式,包括各类设计模式如桥接,单例,构造器等。里面用到了java8等特性

2017-10-11

java面试优秀代码

包括谷歌,facebook等大公司的面试题及答案,leetcode等系列题目及答案,各种算法答案

2017-10-11

spark 优秀资源源码(个人整理)

里面包含很多spark源码(包括etl,kafka,hbase整合等)

2017-08-21

空空如也

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

TA关注的人

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