自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

积极向上的老王诩

技术的积累不是一蹴而就的

  • 博客(78)
  • 收藏
  • 关注

原创 Java 11 新特性学习

Java 11 新特性介绍原作者:李 林锋网址:https://www.ibm.com/developerworks/cn/java/the-new-features-of-Java-11/index.html基于嵌套的访问控制与 Java 语言中现有的嵌套类型概念一致, 嵌套访问控制是一种控制上下文访问的策略,允许逻辑上属于同一代码实体,但被编译之后分为多个分散的 class 文件的类,无需编译器额外的创建可扩展的桥接访问方法,即可访问彼此的私有成员,并且这种改进是在 Java 字节

2020-06-29 15:32:20 383

原创 Akka入门

https://doc.yonyoucloud.com/doc/akka-doc-cn/2.3.6/scala/book/index.htmlAkka是什么?通过使用Actor模型我们提升了抽象级别,为构建可扩展的、有弹性的响应式并发应用提供了一个更好的平台Akka实现了独特的混合模型ActorsActors为你提供:对并发/并行程序的简单的、高级别的抽象。 异...

2019-09-09 17:16:47 298

转载 Spring WebSocket实现消息推送

Spring WebSocket实现消息推送第一步: 添加Spring WebSocket的依赖jar包(注:这里使用maven方式添加 手动添加的同学请自行下载相应jar包放到lib目录)<!-- 使用spring websocket依赖的jar包 --> <dependency> <groupId>org...

2019-09-06 14:38:23 239

原创 java注解@​​​​​​​Retention、@Targe、@Documented、@Inherited

@Retention(RetentionPolicy.TYPE)注解Retention(保留)注解说明,这种类型的注解会被保留到那个阶段,有三个值:1.RetentionPolicy.SOURCE —— 这种类型的Annotations只在源代码级别保留,编译时就会被忽略2.RetentionPolicy.CLASS —— 这种类型的Annotations编译时被保留,在class文件中...

2019-09-06 11:41:07 242

转载 MySQL分区与传统的分库分表

传统的分库分表传统的分库分表都是通过应用层逻辑实现的,对于数据库层面来说,都是普通的表和库。分库分库的原因首先,在单台数据库服务器性能足够的情况下,分库对于数据库性能是没有影响的。在数据库存储上,database只起到一个namespace的作用。database中的表文件存储在一个以database名命名的文件夹中。比如下面的employees数据库:mysql> s...

2019-08-14 11:32:29 189

原创 实习log-day9-2019/07/19

背景业务需求代码写的很快,需求也都可以完成,代码也同样可以解决。但对项目使用的play框架,前端react框架,ebean数据框架依旧不明器所以然,故写此博客。Play框架见闻Play基于java和scala轻松构建web应用程序在业务中也可以看到,play框架的使用使得开发变的简单许多;开发效率高,用Java开发效率直追RoR(Ruby on Rails)Play 基于 A...

2019-07-21 16:21:54 214

原创 Play framework学习笔记(新手入门)

概述The High Velocity Web Framework For Java and Scala适用于 Java 和 Scala 的高速 Web 框架。简介Play Framework makes it easy to build web applications with Java & Scala. Play is based on a lightwe...

2019-07-21 15:17:00 226

原创 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO定义

分层领域模型规约:DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。就是从现实世界中抽象出来的有形或无形的业务实体。 DTO( Data Transfer Object):数据传输对象,主要用于远程调用等需要大量传输对象的地方,比如我们有一个交易订单表,含有 25 个字段,那么其对应的 PO 就有 25 个属性,但我们的页面上只需要显示 5 个字段,因...

2019-07-12 14:16:47 954

原创 web项目中的注解介绍

@JoinColumn@OneToOne一对一现假设有Person表和Address表,是一对一的关系,在Person中有一个指向Address表主键的字段addressID,所以主控方一定是Person,所谓主控方就是能改变关联关系的一方,Person只要改变addressID就改变了关联关系,所以Person是主控方,所以@JoinColumn写在Person类中@OneT...

2019-07-11 17:51:55 741

原创 react框架学习(一)

Reacthttps://react.docschina.org/用于构建用户界面的 JavaScript 库优点声明式React 使创建交互式 UI 变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据改变时 React 能有效地更新并正确地渲染组件。以声明式编写 UI,可以让你的代码更加可靠,且方便调试。组件化创建拥有各自状态的组件,再由这些组件构成更加复杂...

2019-07-10 15:23:15 587

转载 Playframework介绍

Playframework介绍Play 框架概述有别于其他臃肿的企业级 Java 框架,简洁的 Play 框架提供另外一种选择,它关注于开发者的效率和 RESTful 风格的架构。Play 是 敏捷软件开发 的完美伴侣。Playframework可以做什么使用java继续开发你不需要切换到另一种语言,其他 IDE 或者其他类库,而仅仅是切换到一个效率更高的 Java 环境!...

2019-07-01 12:20:51 3205

转载 算法--贪心思想

分配饼干455. Assign Cookies (Easy)Input: [1,2], [1,2,3]Output: 2Explanation: You have 2 children and 3 cookies. The greed factors of 2 children are 1, 2.You have 3 cookies and their sizes are big...

2019-06-24 15:40:41 130

转载 jvm参数,tomcat参数,jar包运行参数调优

jar包运行参数优化命令实例:nohup java -Xms500m -Xmx500m -Xmn250m -Xss256k -server -XX:+HeapDumpOnOutOfMemoryError -jar $JAR_PATH/test-0.0.1-SNAPSHOT.jar --spring.profiles.active=daily -verbose:class &说明...

2019-06-24 15:38:17 4649

转载 高可用框架

高可用是什么系统可用性指的是当前系统在一段时间内可正常提供服务的时间占比。高可用指系统可以一直提供服务,而不会出现不可用的现象。高可用架构图初级架构这类架构比较适用于初创企业或流量较小的平台。此种架构一般都是在平台运行之初所用到的架构,日均访问量不大,简单的架构足以能够应对用户的流量请求,比如前端网站使用Apache/nginx都可以,APP服务器直接使用JAVA环境如...

2019-06-16 19:17:38 947

原创 zookeeper学习整理

zookeeper是什么?ZooKeeper是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。分布式应用程序可以基于Zookeeper实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。Zookee...

2019-06-16 18:58:18 137

转载 Spark常用算子

Spark的算子的分类   从大方向来说,Spark 算子大致可以分为以下两类: 1)Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理。     Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算。 2)...

2019-06-11 15:16:13 237

原创 spring技术内幕笔记--IOC容器的实现

IOC容器概述Ioc容器和依赖反转模式在面向对象系统中,对象封装了数据和对数据的处理,对象的依赖关系常体现在对数据和方法的依赖上。这些依赖关系可以可以通过把对象的依赖注入交给框架或IOC容器来完成,这样做可以在解耦代码的同时提高代码的可测试性。Spring IOC的应用场景在spring中,SpringIoC提供了一个基本的javaBean容器,通过IoC模式管理依赖关系,并通过依...

2019-06-05 15:16:40 240

原创 elasticSearch使用出现的问题以及解决

内存不足导致的elasticSearch闪退用docker安装生产环境是很方便的,在用docker搭建elasticSearch时出现了一个问题,每次elasticSearch容器启动会自动退出,查看日志发现:OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9...

2019-06-04 16:41:37 4943

原创 算法--排序问题

题目来自Leetcode 题解 - 排序​​​​​​​215. Kth Largest Element in an Array (Medium) 347. Top K Frequent Elements (Medium) 451. Sort Characters By Frequency (Medium) 75. Sort Colors (Medium)Kth Element...

2019-06-02 11:41:13 271

原创 算法--双指针问题

题目来自Leetcode 题解 - 双指针1. 有序数组的 Two Sum 2. 两数平方和 3. 反转字符串中的元音字符 4. 回文字符串 5. 归并两个有序数组 6. 判断链表是否存在环 7. 最长子序列有序数组的 Two SumLeetcode :167. Two Sum II - Input array is sorted (Easy)Input: number...

2019-06-01 16:05:47 234

原创 java多线程爬虫设计

基本架构需求来源爬取徽州建筑的图片,后期用于徽州建筑图片的分类处理。调度机制解析机器定时向调度器发送消息,告诉调度器自己当前处理了多少任务,调度器根据解析器处理的任务数,向解析器的队列发送对应量的url数据。整个大环境下,调度器与解析器形成生产者消费者队列;小环境下,解析器自己有生产者阻塞队列,消费者线程池。好处:根据不同机器当前处理任务的能力去分发任务。缺点:sock...

2019-05-31 15:58:20 521

转载 mysql慢查询日志以及性能调优

优化概述MySQL数据库是常见的两个瓶颈是CPU和I/O的瓶颈,CPU瓶颈一般发生在从磁盘上读取数据到内存的时候。磁盘I/O瓶颈发生在装入数据远大于内存容量的时候,如果应用分布在网络上,那么查询量相当大的时候那么平瓶颈就会出现在网络上。我们可以用mpstat, iostat, sar和vmstat来查看系统的性能状态。除了服务器硬件的性能瓶颈,对于MySQL系统本身,我们可以使用工...

2019-05-30 22:47:08 353

原创 SQL语句汇总

数据库创建与使用:CREATE DATABASE data;USE data;创建表CREATE TABLE mytable ( # int 类型,不为空,自增 id INT NOT NULL AUTO_INCREMENT, # int 类型,不可为空,默认值为 1,不为空 col1 INT NOT NULL DEFAULT 1, # 变长字符串类型,最长为 ...

2019-05-30 15:31:59 456

原创 关系型数据库设计理论

函数依赖记 A->B 表示 A 函数决定 B,也可以说 B 函数依赖于 A。如果 {A1,A2,... ,An} 是关系的一个或多个属性的集合,该集合函数决定了关系的其它所有属性并且是最小的,那么该集合就称为键码。对于 A->B,如果能找到 A 的真子集 A',使得 A'-> B,那么 A->B 就是部分函数依赖,否则就是完全函数依赖。对于 A->B,...

2019-05-30 13:20:19 220

原创 socket详解

用大白话来说一下BIO\NIO与I\O复用技术再谈BIO,NIO和AIOJAVA BIO\NIO\AIO的入门学习在之前的三篇文章中介绍了java的BIO,NIO,AIO以及一些IO复用的知识。这篇文章将对上述的知识做一次总结,并且梳理其中的关系。I/O 模型一个输入操作通常包括两个阶段:等待数据准备好 从内核向进程复制数据对于一个套接字上的输入操作,第一步通常涉及...

2019-05-30 13:13:00 148

原创 GET 和 POST 比较

作用GET 用于获取资源,而 POST 用于传输实体主体。参数GET 和 POST 的请求都能使用额外的参数,但是 GET 的参数是以查询字符串出现在 URL 中,而 POST 的参数存储在实体主体中。不能因为 POST 参数存储在实体主体中就认为它的安全性更高,因为照样可以通过一些抓包工具(Fiddler)查看。因为 URL 只支持 ASCII 码,因此 GET 的参数中如果存在...

2019-05-29 15:26:58 493

原创 HTTP协议详解

基础概念URIURI 包含 URL 和 URN。请求和响应报文1. 请求报文2. 响应报文HTTP 方法get与post的区别与联系post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中) ;post发送的数据更大(get有url长度限制,而这个限制通常是浏览器的限制) ;post能发送更多的数据类型(get只能发...

2019-05-29 15:20:55 242

转载 计算机网络--应用层详解

域名系统DNS 是一个分布式数据库,提供了主机名和 IP 地址之间相互转换的服务。这里的分布式数据库是指,每个站点只保留它自己的那部分数据。域名具有层次结构,从上到下依次为:根域名、顶级域名、二级域名。DNS 可以使用 UDP 或者 TCP 进行传输,使用的端口号都为 53。大多数情况下 DNS 使用 UDP 进行传输,这就要求域名解析器和域名服务器都必须自己处理超时和重传从而保证可靠...

2019-05-29 14:41:13 171

原创 计算机网络--网络层详解

概述因为网络层是整个互联网的核心,因此应当让网络层尽可能简单。网络层向上只提供简单灵活的、无连接的、尽最大努力交互的数据报服务。使用 IP 协议,可以把异构的物理网络连接起来,使得在网络层看起来好像是一个统一的网络。与 IP 协议配套使用的还有三个协议:地址解析协议 ARP(Address Resolution Protocol) 网际控制报文协议 ICMP(Internet C...

2019-05-29 14:31:16 860

原创 计算机操作系统--linux进程管理

目录查看进程的命令1. ps2. pstree3. top4. netstat进程的状态线程的状态(java)孤儿进程僵尸进程查看进程的命令1. ps查看某个时间点的进程信息示例一:查看自己的进程# ps -l示例二:查看系统所有进程# ps aux示例三:查看特定的进程# ps aux | grep threadx...

2019-05-29 14:11:52 245

转载 计算机操作系统--内存管理

目录虚拟内存分页系统地址映射页面置换算法1. 最佳2. 最近最久未使用3. 最近未使用4. 先进先出5. 第二次机会算法6. 时钟分段段页式分页与分段的比较虚拟内存虚拟内存的目的是为了让物理内存扩充成更大的逻辑内存,从而让程序获得更多的可用内存。为了更好的管理内存,操作系统将内存抽象成地址空间。每个程序拥有自己的地址空间,这个地址空间被分...

2019-05-29 13:46:45 299

原创 计算机操作系统--死锁

目录死锁的必要条件死锁的处理方法鸵鸟策略死锁检测与死锁恢复死锁预防破坏互斥条件破坏占有和等待条件破坏不可抢占条件破坏环路等待死锁避免死锁的必要条件四个必要条件:互斥:每个资源要么已经分配给了一个进程,要么就是可用的。 占有和等待:已经得到了某个资源的进程可以再请求新的资源。 不可抢占:已经分配给一个进程的资源不能强制性地被抢占,它只能被占有它...

2019-05-29 13:41:46 224

转载 计算机操作系统--概述

操作系统的基本特征1. 并发2. 共享3. 虚拟4. 异步基本功能1. 进程管理2. 内存管理3. 文件管理4. 设备管理大内核和微内核1. 大内核2. 微内核中断分类1. 外中断2. 异常3. 陷入系统调用操作系统的基本特征1. 并发并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。...

2019-05-29 13:20:19 123

原创 tomcat/jetty/Resin/JBoss/WebSphere/WebLogic服务器之间的比较

服务器:tomcat,jetty,Resin、JBoss、WebSphere、WebLogic等。Web服务器是运行及发布Web应用的容器,只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问。同时还包括了Java应用服务器。Tomcat 服务器目前最为流行的Tomcat服务器是Apache开源项目中的一个子项目,是一个小型、轻量级的支持JSP和Servlet...

2019-05-28 09:50:05 1911

原创 spark应用以及RDD的运行原理

RDD是什么?RDD(Resilient Distributed Dataset)是一个弹性分布式数据集,简单的说就是弹性加分布式的数据集。在rdd里的数据可以并行在分布式集群中进行计算;弹性就是说RDD中的数据可以存储在内存或者是磁盘,而且RDD中的分区是可以改变的;RDD有哪些特性?RDD的数据结构是有多个partition的list;RDD的每个partition上面...

2019-05-28 09:40:03 763

转载 最短路径-Dijkstra算法与Floyd算法

最短路径-Dijkstra算法与Floyd算法一、最短路径  ①在非网图中,最短路径是指两顶点之间经历的边数最少的路径。AE:1 ADE:2 ADCE:3 ABCE:3  ②在网图中,最短路径是指两顶点之间经历的边上权值之和最短的路径。AE:100 ADE:90 ADCE:60 ABCE:70  ③单源点最短路径问题  问题描述:给...

2019-05-22 12:33:14 156

转载 b树,b+树与红黑树

平衡二叉搜索树它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。常用算法有红黑树、AVL、Treap、伸展树等。在平衡二叉搜索树中,我们可以看到,其高度一般都良好地维持在O(log2n),大大降低了操作的时间复杂度。红黑树每个节点或者是黑色,或者是红色。根节点是黑色。每个叶子节点是黑色。 [注意:这里叶子节点,是指为空的叶子节点!]如果...

2019-05-22 12:24:21 171

转载 微信扫码登录是如何实现的

微信登陆二维码解析出的网址如下https://login.weixin.qq.com/l/obsbQ-Dzag==接下来详细介绍一下扫码登录具体的每个步骤:扫码登录完整流程①:用户 A 访问微信网页版,微信服务器为这个session生成一个全局唯一的 ID,上面的 URL 中 obsbQ-Dzag== 就是这个 ID,此时系统并不知道访问者是谁。②:用户A打开自己的手机...

2019-05-22 10:50:23 3492

原创 redis为什么这么快?

Redis为什么这么快?完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1);数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的;采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存在加锁释放...

2019-05-22 10:13:15 120

原创 fullGC通常发生在什么时候

年轻代,老年代,永久代知识回忆jvm垃圾回收机制中,有一种回收策略叫分代垃圾回收。分代垃圾回收,顾名思义,是将jvm管理的堆,分为不同的部分进行gc策略以达到优化内存管理的效果。jvm将堆分为年轻代与老年代,年轻代中又分为eden区与survivor区。jvm在给一个对象分配内存的时,会优先考虑将对象分配到eden区,如果是对象较大的情况下会直接将较大的对象放入老年代,在eden区的对...

2019-05-21 17:31:11 3413 2

空空如也

空空如也

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

TA关注的人

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