自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 问答 (1)
  • 收藏
  • 关注

原创 CAP定理下:Zookeeper、Eureka、Nacos简单分析

在CAP定理下简单分析Zookeeper、Nacos、Eureka

2023-10-25 16:58:50 992

原创 Java8-方法引用

简单说明方法引用。方法引用(Method Reference)直接通过方法引用简写lambda表达式中已经存在的方法,也就是某些情景下lambda表达式的简写形式。方法引用范围引用静态方法类名::静态方法名引用某个对象的实例方法对象名::实例方法名引用某类型任意对象的实例方法数据类型名称::方法名引用类的构造方法类名::n

2019-06-21 11:34:39 304 2

原创 Cocos2d-js引擎使用微指南

Cocos Creator作为游戏编辑器进行开发,在此总结使用过程中遇到的一些问题与解决方案,不对具体的功能与API进行阐述。文章目录版本管理Sublime注意事项游戏界面控制相关节点相关日志管理UI组件微信小游戏项目转换微信公众号网页项目版本管理Cocos Creator并未集成git、SVN等代码版本控制系统,在分工开发中,最好根据业务场景分配游戏场景*(scene)到开发者手中,...

2018-12-19 17:34:53 751

转载 贫血模型与充血模型

转载自 http://www.ituring.com.cn/article/125我们先了解一下事物脚本和领域模型的概念。事物脚本: 事务脚本的核心是过程,通过过程的调用来组织业务逻辑,每个过程处理来自表现层的单个请求。大部分业务应用都可以被看成一系列事务,从某种程度上来说,通过事务脚本处理业务,就像执行一条条Sql语句来实现数据库信息的处理。事务脚本把业务逻辑组织成单个过程,在过程中直接...

2018-12-18 15:50:42 1122

原创 SpringBoot项目服务器启动

在不使用独立的tomcat,不执行main函数的情况下,通常使用以下方式对springboot项目进行部署与运行jar执行通过命令java -jar test.jar运行springboot项目jar包,缺陷在于无法关闭控制台或进行其他系统命令操作maven使用maven能够以一种类似于shell的方式开启、关闭、重启服务,让项目能够在服务器后台运行。(1) 首先在项目中添加maven...

2018-12-18 15:41:37 647

原创 Google Guava简介

瓜娃(Guava)是一款基于开源JAVA内容的库,也是Google很多项目在使用的扩展库。主要为了方便编码,并有效减少编码错误。有着多种供用于集合、缓存、并发、常见注解、字符串处理、I/O与验证的方法。下面介绍几种简单的功能。Optional类com.google.common.base.Optional 用于处理包含非空对象的不可变对象,也就是在一些无法赋值,但对象还是为null的时候进行处理,也

2017-08-01 10:47:08 1076

原创 Java8-Stream流处理

Java8中的Stream是对与集合对象有所加强的新特性,专注于集合对象进行各种非常便利,高效的聚合操作,同时提供串行与并行两种模式的汇聚操作,使用了fork/join并行方式来拆分任务、加速处理过程。注意,这里的stream与原先的文件I/O流没有必然关系,是在Java8中的新内容。Stream有时类似于一个迭代器,但是相比原来的Iterator串行命令式的执行过程,stream通过并行方式去便利

2017-07-31 13:56:40 2351

原创 java8-lambda表达式

什么是Lambda表达式这里首先要提到一个概念:函数式接口Java中只有一个抽象方法的接口,用来表示lambda表达式的类型,JAVA8中新增了许多函数式接口。比如断言接口Predicate,表示函数的Function等。简单的说,如果你接触过C++,C#之类的编程语言,也许会听说过函数式编程、函数引用之类的概念,他们与lambda表达式功能类似,通俗的说就是,现在你可以更简单的在JAVA中把方

2017-07-27 17:34:56 541

原创 RPC远程过程调用协议简述

RPC:Remote Procedure Call Protocol即远程过程调用协议,有时候也可以说是一种编程模式,应用场景多用于替代C/S模式中HTTP所主导的一系列框架。是一个计算机通信协议,并没有实体,只有具体的实现。主要功能让构建分布式计算更加容易,同时具有强大的远程调用功能。RPC会提供一种透明调用机制让使用者不必显式的区分远程调用与本地调用。它让本地应用能够简单,高效的调用服务器中的

2017-07-26 11:51:20 1059

原创 百度-JAVA后台开发-一面

部分涉及到的知识点:1. java虚拟机的内存管理2. JVM垃圾回收3. JAVA并发编程4. 各种排序算法以及它们的时间复杂度5. 算法题:两个栈模拟一个堆6. 算法题:在一个数组中存在一个长度超过50%的元素,如何找出来

2017-05-28 20:13:37 878

原创 mysql job failed to start-tomcat问题变种

首先说一说问题的背景:服务器端采用tomcat为J2EE容器,在一次失败的NIO测试(把控制台输出信息写在了NIO阻塞用的循环中)后,Ubuntu系统几乎崩溃,关闭java相关进城后,tomcat无法再次启动,我就采取了互联网人民最厉害的招数-重启服务器。 在重启服务器之后,tomcat可以启动,但是获取不到JDBC连接了,显而易见,这是MySQL没启动,正当我准备开启MySQL服务的时候

2017-04-10 23:41:26 854

原创 京东-Java开发工程师-一面

时间:2017-4-7 16:47时长:32分19秒类型:笔试前电话面试之前打过一个电话过来说了一声,下午就直接打过来面试了,没有自我介绍貌似1. 你做的这些东西是什么样的?2. 选一个你觉得最好的项目说一说(说啊~说了好长时间)3. 听你里面用到了线程池,具体是用来做什么的?4. 与硬件的协议是什么样的?5. 说一说你对线程池的认识6. 刚才说到的任务队列,你了解过吗?7. 你说BlockingQ

2017-04-10 23:11:28 5436

原创 完美世界-Java游戏开发-二面

时间:2017-03-30时长:15分类型:二面面试官比较聊得来,人比较和善,游戏面试还是nice的,老铁1. 自我介绍2. 平时玩哪些游戏?端游、页游3. Maven你是怎么使用的?4. 对于quartz和Redis这种技术,你是怎么接触的?5. 为什么想做游戏开发?6. 看你用过Mybatis,你知道JPA吗?7. 在你学习过程中,哪些是你深入学习过的?问的不算太多,一个接一个的有的东西想不起来

2017-03-30 15:43:12 1547

原创 2017 JAVA方向实习要求汇总

微软阿里巴巴 腾讯WEB开发 后台开发 百度软件研发 基础平台研发 JAVA研发 360企业安全-服务端 手机OS-JAVA CVTE后台研发 滴滴软件开发 欢聚时代Java开发 今日头条京东美图JAVA服务端 JAVA开发 美团点评后台研发 蘑菇街JAVA安全 后台开发 七牛云完美世界WEB开发 JAVA游戏 网易游戏有道

2017-03-25 22:40:18 5748 1

原创 Transfer-Encoding:chunked 返回数据过长导致中文乱码

最近在写一个项目的后台时,前端请求指定资源后,返回JSON格式的数据,突然发现在返回的字节数过大时,最后的message中文数据乱码了,对于同一个接口的请求:当数据小时不会乱码,当数据量大了中文就乱码了。从此衍生了一系列的HTTP在学习:chunk

2017-03-24 20:58:55 13520

原创 完美世界-游戏Java开发工程师-一面

时间:2017-03-22时长:19分类型:内推笔试通过后一面虽然在大学阶段对于J2EE学习比较多,但是也非常喜欢打游戏啊!而且这是完美世界!所以选择投了游戏开发岗,也许是一开始的时候说了自己原来是做JAVA WEB的,所以面试官聊的技术相对比较少。1. 面试官:做个一分钟的自我介绍,然后我就真的做了一分钟的自我介绍…也许只有30秒,然后自己说了句”就这些,一分钟差不多”就笑了起来,面试官也笑了2.

2017-03-22 16:18:30 6466 2

原创 Spring与SpringMVC的关系

在此鉴于你已经了解过Spring的相关知识,简单描述一下Spring与Spring的关系联系:在框架的使用中,Spring类似于一个具有多种特性,也可以说是多种功能模块的应用平台,(特性就比如IoC,AOP,事务处理,持久化驱动等等),并且可以用来与其他一些优秀并流行的开源框架进行快速的整合。对于一个完整的WEB框架或应用平台来说,MVC模型的模块一定是必不可少的,而SpringMVC就是建立在Sp

2017-03-17 20:19:16 10983 3

原创 在不申请新内存空间条件下交换两个数的值

只是觉得这个问题很好玩,在此记录一下:1. 使用异或运算int a=2,b=4;//此时a的二进制为‘010’,b的二进制为‘100’下面使用编程语言中的‘^’,即异或操作符来完成异或运算,如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。第一次:a = a ^ b; // a = 62与4进行异或运算,计算过程如下010100----110a被赋值为6,二进制表示

2017-03-16 21:02:52 3065 1

原创 阿里巴巴JAVA电话面试-二面

时间:2017-03-13 14:33:时长:42分54秒类型:内推电话面试二面聊的比较泛,记不起来多少了…常规1. 自我介绍,与上一次一样。问题1. 你说到了SpringMVC,你了解多少?2. 你觉得SpringMVC为什么比其他的MVC框架好?3. 刚才你说到了IOC控制反转,讲一讲你知道的(底层)。4. 你觉得这种Bean机制有什么好处?相比直接new一个对象?5. 在Spring中,Bea

2017-03-13 15:41:49 1999

原创 阿里巴巴JAVA电话面试-一面

时间:2017-3-8 14:34时长:32分35秒类型:内推电话面试一面常规1. 自我介绍,说了自己的信息和三个项目,面试官没有打断我。JAVA2. 对于Spring,你除了IOC的Bean机制还用到了什么?3. 说一说对于JVM的结构你的理解。4. JVM内存结构衍生到了一个题:String a = "abc";String b = new String(a);对于这两个表达式,a存储在哪里

2017-03-08 19:50:13 8242

原创 Collections.sort()方法解析

首先注意这里调用sort方法的是Collections类,他是集合框架中的一员,其中实现了大量的工具方法,有时间可以自行查看: 下面是一个简单的测试类:import java.util.*;/** * Created by Admin on 2017/3/7. */public class CollectionTest { public static void main(String[

2017-03-07 17:13:29 879

原创 算法基础-字符移位

小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。 你能帮帮小Q吗? in:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000., out:对于每组数据,输出移位后的字符串。import java.util.Scanner;public class Main{ public static void

2017-03-05 14:57:55 431

原创 HashMap的put源码解析

put方法的源码如下:public V put(K key, V value) { return putVal(hash(key), key, value, false, true); }putVal方法:final V putVal(int hash, K key, V value, boolean onlyIfAbsent, bool

2017-03-05 14:56:27 1960 1

原创 HashMap中的equals()方法

JDK版本为1.8此处只是源码的简单分析,而对于HashMap的详细工作原理,还是要归根结底到get,put等方法的实现下面是HashMap中的静态内部类Node的equals方法的源码public final boolean equals(Object o) { //此处单独比较的是Node if (o == this) re

2017-03-03 17:29:45 11142 1

原创 Spring定时(任务)刷新-quartz

Quartz是一个完全由java编写的开源作业调度框架。他可以与J2EE、J2SE集成,用与处理定时任务、定时刷新的需求。在SpringMVC项目中使用quartz:1.在Spring的配置文件中,映射一个Bean,用来表示用来定时执行的任务类。id="taskJob" class="cn.test.HelloWorld"/>2.说明类的详细信息,使用MethodInv

2017-02-25 14:25:02 923

原创 Go语言:变量声明,作用域,指针

1. 命名规则go语言与其他语言一样,有着25个关键字不能出现在变量/函数名的命名中,开发中依然按照“驼峰式命名法”进行一系列的声明。2. 作用域变量定义在function中时,作用域为本个function; 变量定义在一个function外时,作用域为它所属于的包中的所有文件。3. 声明go中基本的四种声明关键字为:var,const,type,func; 当函数中未声明返回值相关时,可以忽略

2016-12-19 21:39:35 1449

原创 Redis命令:数据类型操作

《 Redis实战 》学习笔记字符串 命令 含义 incr key_name 键值自增1 decr key_name 键值自减1 incrby key_name amount 键值加上整数amount decrby key_name amount 键值减去整数amount incrbyfloat key_name amount 键值加上浮点数amount

2016-12-19 19:17:13 341

原创 IDEA中创建maven管理的Spring项目

编译器版本:IntelliJ IDEA 2016.2.5(64) 主要在于创建Maven管理的Java Web项目 并加入Spring配置 本章并未对Maven的具体细节进行说明

2016-12-02 20:06:33 2642 2

原创 InnoDB存储引擎简述

——Mysql技术内幕,InnoDB存储引擎学习笔记InnoDB存储引擎设计目标:面向在线事务处理特点:行锁设计,支持外键,支持非锁定读(默认读操作不会产生锁,能够用来有效地利用CPU、内存资源)并发:通过多版本并发控制(MVCC)控制,实现SQL标准的4种隔离级别:未提交读(Read uncommitted)提交读(Read committed)可重复读(Repeatable read)可

2016-12-01 18:23:22 527

转载 HTTPS:TLS握手过程

===TLS handshake=== When the connection starts, the record encapsulates a “control” protocol—the handshake messaging protocol  (”content type” 22). This protocol is used to exchange all the informatio

2016-11-27 21:40:06 652

原创 HTTP-PATCH请求

也许你常用的HTTP请求方式就是GET、POST,有的人会用过DELETE、PUT,其实在HTTP1.1中提到过更多的方法。PATCH

2016-11-24 14:06:50 16531

原创 Go:奇怪的循环

for initialization; condition; post{ //zero or more statement}

2016-11-20 12:04:45 433

原创 GO:为什么不能++i,--i

The increment statement i++ adds 1 to i ; It’s equivalent to i+=1 which is in turn equivalent to i = i +1.

2016-11-19 22:11:57 1734

原创 JVM-垃圾收集器参数

此处参数主要依据JDK1.7。整理遇见的垃圾收集器参数。

2016-11-17 12:00:26 466

原创 JVM-垃圾回收机制算法简述

在编程语言的发展中,内存的动态分配与动态回收是必不可少的。当你一直在索取内存空间,而不去释放它,总有一次申请分配时,会出现内存溢出、内存泄漏等问题。这也是为什么我们要去了解这个”自动化”的机制的原因。垃圾回收的过程主要发生在虚拟机堆内存区中,用于回收不再使用的对象(实例)。

2016-11-16 11:27:16 1152 2

原创 JVM-虚拟机内存区域

此篇主要用于记录JVM内存区域学习。首先说明的是堆与栈堆与栈从数据结构的角度说栈是一种后进先出的线性表结构,只允许在一端进行插入与删除操作,也叫做后进先出表( Last in First Out,LIFO )。只要是符合此原则的线性表都是栈,主要的是我们的存储方式上的区别;由系统提供,快速高效,缺点是有限制,不够灵活。由系统提供。堆是二叉树的一种。满足下列性质的数列叫做堆。将数列看做一棵完全二叉树,

2016-11-13 15:26:43 375

原创 web.xml文件初始化过程

在使用各种框架后,有时会发现不了了错误处在哪里,了解Servlet的初始化过程(也可以说是web.xml的初始化吧),也许对你对于框架的理解与报错的原因理解会有帮助

2016-10-27 21:12:45 1990

原创 Linux服务器上安装部署Tomcat服务器

1. 安装JDK作为一个J2EE项目的容器,JDK是必须的,首先到JDK官网,下载一个适用于Linux操作系统的JDK.可百度搜索JDK,直接进去官网JDK1.8下载地址,由于JDK随时都在更新中,克根据自己的需求去下载。建议下载*.tar.gz的安装包(反正我是喜欢用这个)。 使用 tar -zxvf jdk-8u101-linux-i586.tar.gz命令将JDK解压或解压后复制在目录

2016-10-15 19:24:56 675

原创 算法:Rev(X)函数为翻转数字 输入两个数 求他们的 result=Rev(Rev(num1)+Rev(num2))

package test;import java.util.Scanner;/** * 算法 Rev(X)函数为翻转数字 输入两个数 求他们的 result=Rev(Rev(num1)+Rev(num2)) 若翻转后存在0,去除 */public class Test2{ public static void main(String[] args){ Scanner sc

2016-09-20 20:38:27 1211

原创 算法:求一个字符串中存在的回文字符串的最大前缀

源于网易2016秋招面试题,代码语言使用JAVApackage test;/** * 算法:求一字符串中存在的回文数的最大前缀 */public class Test{ public static void main(String[] args){ String title = "asfbjsgbhjfbgjhdooyoobghjdbgjjg"; //11个字符

2016-09-13 17:51:15 870

空空如也

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

TA关注的人

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