自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深圳荣耀Java后端一面

三年工作经验社招,30分钟全在问项目一、redis代理Q:你们问什么要做一层redis代理?A:因为两个方面,一是成本考虑:如果一个微服务申请一套主从资源花费很大。二是安全问题:加了监控、权限校验、代理缓存热点数据等逻辑在里面。Q:部署代理不是更浪费资源吗?安全问题redis本身也可以解决啊?A:跟一个微服务申请一套主从比,用代理更能充分利用redis的内存空间,成本是降低的。安全问题我问他是不是说redis的ssl,我说我们没开,就没问了。Q:你说的代理端缓存有什么用?一致性怎么保

2022-03-28 22:45:11 1970

原创 2020年末的一些职业规划思考

来一个中小型互联网零售公司已经干了一年半了,这一年半不得不说从一个0基础啥也不懂的菜鸟,成长成了刚摸着门道的小程序员。这一年多由于工作比较忙的原因,很少更新博客,最近打算重新开始写起来。目前的工作状态是对手里二十来个大大小小的系统都算是轻车熟路了,小公司也没什么设计模式,以前代码写的比大白话还容易看。然而有的系统并不健壮,甚至存在一些说大不大说小不小的问题,但手头一直又有挺多事也没法去细究,虽然这也不应该当成一个借口。在后面的日子里,我的最大的目标就是在java技术上、细节上比整个技术中心三四百号人

2020-12-04 00:27:03 152 1

原创 Linux 部署 MongoDB 副本集

其实贼简单别搞复杂了。1.把安装包下载下来https://www.mongodb.org/dl/linux/x86_64这个地址有所有的mongoDB版本,找到你想要的版本,F12看到下载地址,复制下来,把下载地址的 downloads 替换成 fastdl ,下载得更快,不过对我无效,我自己实测是复制 fastdl 的链接到腾讯微云离线下载,两秒就下好了。2.安装主库r...

2020-03-23 17:53:33 358

原创 Java NIO(四)选择器Selector

本文将介绍NIO最重要的部分Selector,并最终完成一个简易的没有图形界面的多人聊天室。一、简介Selector像一个注册中心,把各个可选择通道注册在上面。SelectableChannel就是可以注册在Selector上的节点。SelectionKey是维护两者之间的注册关系。二、使用1.实例化Selector对象Selector selector =...

2020-03-12 17:50:22 318

原创 Java NIO(三)通道Channel

1.使用RandomAccessFile.getChannel()实现文件复制 public void fileCopy() throws IOException{ RandomAccessFile source = new RandomAccessFile("D:" + File.separator + "x.txt", "r"); RandomAcc...

2020-03-12 10:48:56 28967 1

原创 Java NIO(二)缓冲区Buffer

本文以CharBuffer为例,运行下代码结合注释看,有一个要点是无论什么操作,capacity不会变。1.Buffer基本属性 public void testProperties(){ CharBuffer buffer = CharBuffer.allocate(10); //buffer初始状态 showBuffer(buf...

2020-03-12 09:08:44 413

原创 IDEA运行main方法找不到类java.lang.ClassNotFoundException: javax.servlet.ServletRequest

是因为IDEA启动main方法时,默认没有把scope为Provided的这个依赖的jar包放在classpath下,解决方法:箭头这里打上勾就行了

2020-03-11 13:40:32 1271

原创 Docker启动tomcat容器部署java web应用详细过程

1、由于docker拉取tomcat镜像速度非常慢,可以在网易云镜像中心获取镜像地址docker pull hub.c.163.com/library/tomcat:latest下载成功后,查看下载的tomcat镜像:docker images2、启动tomcat容器命令格式:docker run -dit -p本地端口:容器端口 -v 本地挂载目录:镜像挂...

2020-03-10 23:01:18 923

转载 JNI字段描述符Ljava/lang/String;

“([Ljava/lang/String;)V” 它是一种对函数返回值和参数的编码。这种编码叫做JNI字段描述符(JavaNative Interface FieldDescriptors)。一个数组int[],就需要表示为这样"[I"。如果多个数组double[][][]就需要表示为这样"[[[D"。也就是说每一个方括号开始,就表示一个数组维数。多个方框后面,就是数组 的类型。如果以一个L...

2020-03-05 09:58:59 674

转载 JAVA字节码

什么是字节码?--简书常量池

2020-03-03 21:33:55 94

原创 多线程笔记(二)

一、ReentrantLock可重入锁Lock lock = new ReentrantLock();lock.lock();手动加锁必须手动释放锁。即使线程中途抛出异常也不会释放锁,因此一般在finally里lock.unlock();ReentrantLock和synchronized的区别在于ReentrantLock可以尝试获取锁,而synchronized获取锁后会使后面...

2020-01-10 10:30:01 88

原创 多线程笔记(一)

Q1.一个类中同时有synchronized和非synchronized方法,一个线程调用synchronized方法时,另一个线程能不能调用非synchronized方法?A1.能。因为第二个线程调用非synchronized方法时,不需要申请堆内存里的锁。就像第一个线程去上厕所把门锁住了,第二个线程去厨房,不需要进厕所,所以可以调用。注意synchronized方法锁定的是调用该方法的对象...

2020-01-08 11:25:51 85

原创 Java NIO(一)BIO vs NIO

一、BIO vs NIO1.BIO:同步阻塞。一个客户端连接使用一个线程处理,不管客户端有没有事件发生,线程都在那里,造成资源浪费。2.NIO:同步非阻塞。使用一个selector不断轮询几个客户端的事件,是事件驱动的,减少了资源浪费。...

2020-01-06 18:02:21 185

原创 工作中常用的linux命令

公司里log4j配的地址一般是/data/logs底下一、du -h显示每个文件和目录的磁盘使用空间,-h表示以K M G为单位显示二、df -h显示磁盘分区上可以使用的磁盘空间,-h表示以K M G为单位显示意思是/dev/mapper/data_vg-data_lv这个磁盘挂载在/data目录底下,磁盘一共100G,其中用了2.1GMounted...

2019-12-16 19:59:31 230

原创 Beyond Compare 设置

2019-12-05 17:25:40 404

转载 Spark not serializable 异常分析及解决方案

一、背景在使用spark开发分布式数据计算作业过程中或多或少会遇到如下的错误:Serialization stack:object not serializable (class:class: org.apache.hadoop.hbase.io.ImmutableBytesWritable, value: 30 30 30 30 30 30 32 34 32 30 32 37 37 ...

2019-11-22 15:59:56 1777

转载 Scala通过implict给现有类添加方法

Scala中implict的一种用法就是扩展现有类的方法,有点类似于.Net中的扩展方法(MS对扩展方法的介绍:扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。)Scala中有两种方式做到方法的扩展,以扩展String为例:第一种(code:10-12,29):创建一个以implict修饰的新类并以String类型入参。在新的类型(代码中是...

2019-11-22 09:46:08 380

原创 Spark MLlib 回归算法

一、线性回归house.csv文件中根据面积预测房价import org.apache.spark.ml.feature.VectorAssemblerimport org.apache.spark.ml.regression.LinearRegressionimport org.apache.spark.sql.SparkSessionimport org.apache.sp...

2019-11-20 19:50:55 274

原创 Windows下Scala+Spark+IDEA+Hadoop环境搭建

下载安装包,添加环境变量不再赘述。注意spark和scala要对应版本。例如Spark使用官网下载的spark-2.4.4-bin-hadoop2.7,打开%SPARK_HOME%\jars文件夹,里面找到该版本的spark对应的scala为2.11.12,如果版本对应不上,在使用spark-submit时会报java.lang.BootstrapMethodError:java.lang.N...

2019-11-20 14:08:59 384

原创 入职第一个CRUD项目小结

项目介绍:标注分析系统主要功能:对上传的EXCEL文件进行解析,进行一些CRUD操作。主要难点:1.excel文件上传使用sheetjs插件读取excel文件/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */var file = $("#dataList").get(0).files[0];...

2019-11-11 20:46:04 579

原创 图论要点(1)

1.简单图:没有环且没有重边的图叫简单图。2.& = min{d(Vi)},  Δ = max{d(Vi)} 3.Σd(Vi) = 2 * |E|4.对于任意的图,奇次顶点的个数一定是偶数。Q1:空间内是否存在多面体,它有奇数个面,每个面有奇数条边?A1:不存在。因为把每个面当作一个顶点,两个面有一条公共棱时连一条边,这样的图有奇数个顶点,d(Vi)都为奇数,与结论3矛盾。

2016-07-20 10:05:35 313

原创 LightOJ 1369

DescriptionThe problem you need to solve here is pretty simple. You are give a function f(A, n), where A is an array of integers and n is the number of elements in the array.f(A, n) is defined

2016-07-18 10:09:31 216

原创 Codeforces Round 362 Div.2 B Barnicle

B. Barnicletime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputBarney is standing in a bar and starring at a pret

2016-07-17 22:37:06 254

原创 UVALive 5864 - Register Allocation

不管怎样,不要轻言放弃

2016-07-17 22:21:21 155

转载 cout用法

cout用法

2016-01-30 10:59:11 585

原创 C++ Primer Plus 编程练习ch5

C++ Primer Plus ch5

2016-01-24 16:04:43 259

原创 C++ Primer Plus 编程练习ch4

C++ Primer Plus 中文版 第六版 编程练习

2016-01-23 14:46:04 203

空空如也

空空如也

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

TA关注的人

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