java技术圈 为您找到相关结果 2999

V2Ray配置常见问题

V2Ray配置常见问题 1. 打开客户端闪退 可能原因:客户端的配置文件上不正确。 修正方法:请仔细检查配置文件并修改正确。 2. 客户端提示 Socks: unknown Socks version: 可能原因:客户端配置的 inboud 设置成了 socks 而浏览器的代理协议设置为 http。 修正方法:修改配置文件使客户端的 inboud 的 protocol 和浏览器代理设置的协议保持一致。 3. 客户端提示 Proxy|HTTP: failed to read http request > malformed HTTP request "\x05\x01\x00" 可能原因:客户端配置的 inboud 设置成了 https 而浏览器的代理协议设置为 socks4 或者 socks...阅读全文

关于java研发工程师面试相关的部分参考

今天受邀去参加了某个公司面试的第二轮复试,今天复试的是公司的一个项目主管,感觉比之前面试的更懂技术一些,还问了一些比较刁钻的问题,在这里记录一些自己的不足和自己觉得比较有价值的东西,作为自己的部分参考。 ①关于docker和vmware优势 docker在磁盘空间上的节省不用说了,MB 与 GB的对比; VMware公司指出虚拟化会只会引入大约2%到4%的性能损失。在Docker容器中运行像Redis这样的应用程序,其性能是完全可以接受的,而其在安全、管理等方面的优势使得Docker容器成为虚拟化方面的推荐选择; Docker的简易性。“Docker为从根本上为简化和加快软件产品的构建提供了巨大的潜力”; docker其他的优势: 轻量级的隔离环境比虚拟机能够更方便和快捷地启动和停止; 可以...阅读全文

博文 2019-04-04 09:45:38 www.allocmem.com

[转]Ubuntu如何正确地切换Intel和Nvidia显卡

如需转载,请注明”来自linux大神博客”,并附上原文链接。 本文固定链接 https://www.linuxdashen.com/switch-intel-nvidia-graphics-card-ubuntu 本文转载自:https://www.linuxdashen.com/switch-intel-nvidia-graphics-card-ubuntu 现在的笔记本电脑通常有两块显卡:Intel集成显卡和Nvidia(英伟达)独立显卡。这篇教程介绍Ubuntu如何正确地切换Intel和Nvidia显卡。 你应该使用哪一个显卡? 对于玩游戏或3D制图,图形计算这样对显卡要求高的任务,你需要使用Nvidia独立显卡。如果你既不玩游戏,不绘制3D制图,也不用图形计算,那么集成在Intel处...阅读全文

博文 2019-04-04 09:54:13 www.allocmem.com

git submodule以及被忽略的.gitignore

###引言: 不积跬步,无以至千里;不积小流,无以成江海。原本自以为对git相关的东西以及原理已经有了不错的认识和理解,然而当碰到一个小小的problem才发现自己掌握得并没有自己想象的那么好,好记性不如烂笔头,于是决定把自己对.gitignore以及submodule的部分理解简单记录下来,由于个人能力有限,如有不当之处,欢迎指正。 ###git submodule git submodule在项目中虽一直在使用(用于维护自有公共类库),不过对此知之甚少,于是抽空做一个小小的总结。可运行git submodule –help获取帮助doc。 目地:多项目维护共用公共类库starjazz 步骤: ####在项目中初始化submodule 1. 在即将引用的项目中初始化此git submodu...阅读全文

博文 2019-04-04 09:54:22 www.allocmem.com

打破部门壁垒,提升跨部门协作效率,让沟通更加有效

一、跨部门协作是企业管理痛点 据调查结果显示,企业中普通员工与中层管理者之间,花费在内部沟通上的时间,大约占其工作时间的40%-50%,对于更高层的主管来说这一比例则会更高。 有些工作在部门内沟通完全没问题,但是跨部门沟通就问题不断; 一项工作分配好由一个部门主导另一个部门协作,但因配合不当,迟迟无法交付; 跨部门工作经常出现多个部门重复做了同一份工作; 工作出现问题,各部门相互推卸责任,无人担责; 这些都是我们工作中经常遇到的协作问题,随着企业的发展壮大,部门越来越多,成员也逐渐增加,工作慢慢细化,跨部门之间的工作越来越难做,沟通协作效果低下,影响公司整个工作效率。 二、跨部门协作的难点 1、各部门的职责不同,不能相互理解 ...阅读全文

关于近期java研发工程师面试的一些总结

今天周五,从上个公司离职到现在,忙了3,4天,之前拿到offer的那家公司在往外包公司发展,办公环境也实在不行,于是便有了这几天忙活的事情,这几天投了不少,原本面试已经排到下周二,不过现在算是告一段落了,也拿到了一个初创公司的offer。下面是一些自我总结,方便自己以后查阅,不对也欢迎大家指正和补充。 1.关于oracle的列转行 以及oracle的存储过程 (当时并未回答上)google之主要可使用union all(列转行) ;case when then ,decode(行转列)等 参考http://blog.163.com/magicc_love/blog/static/185853662201371481247696/ 2.token失效和定时器的实现。 线程 setInterva...阅读全文

博文 2019-04-04 09:45:45 www.allocmem.com

[转]在Java中谈尾递归-

我不是故意在JAVA中谈尾递归的,因为在JAVA中谈尾递归真的是要绕好几个弯,只是我确实只有JAVA学得比较好,虽然确实C是在学校学过还考了90+,真学得没自学的JAVA好 不过也是因为要绕几个弯,所以才会有有意思的东西可写,另外还有我发现把尾递归如果跟JAVA中的GC比对一下,也颇有一些妙处(发现还没有人特地比较过) (不过后来边写边整理思路,写出来又是另一个样子了) 转载请注明:博客园-阁刚广志,地址:http://www.cnblogs.com/bellkosmos/p/5280619.html 一、首先我们讲讲递归 递归的本质是,某个方法中调用了自身。本质还是调用一个方法,只是这个方法正好是自身而已 递归因为是在自身中调用自身,所以会带来以下三个显著特点: 调用的是同一个方法 因为1...阅读全文

博文 2019-04-04 09:50:57 尾递归和垃圾回收的比较

[转]Java中使用OpenSSL生成的RSA公私钥进行数据加解密

本文出处:http://blog.csdn.net/chaijunkun/article/details/7275632,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。 RSA是什么:RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。目前该加密方式广泛用于网上银行、数字签名等场合。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。 Op...阅读全文

博文 2019-04-04 09:49:51 www.allocmem.com

golang实现简易TCP服务以及TCP和UDP协议对比

引言 ECHO(Echo Protocol,回绕协议,应答协议,如linux中的echo命令),用于查错及测量应答时间(运行在TCP和UDP协议上)本文示例为echo协议,服务器只需把收到的客户端的请求数据发给这个客户端即可,其它什么功能都不做。 tcp/ip是一个协议簇(族),TCP(传输控制协议)和IP(网际协议)是此协议簇的核心。七层OSI模型中,tcp/udp在传输层,而ip在网络层。 OSI七层协议由上到下分别是:应用层(http,https),表示层(简单地说不同计算机通信会话进行表示转化,使系统能够识别,把数据转换为能与接收者的系统格式兼容并适合传输的格式。),会话层(设置和维护电脑之间通信连接,ssh),传输层(TCP/UDP),网络层(网际协议IP),数据链路层(表头和表尾...阅读全文

博文 2019-04-04 09:53:00 www.allocmem.com

关于java部分知识点的总结(三)

之前一直使用云笔记写自己遇到的一些体会,最近因为工作需要,准备回头梳理下以前自己学习的知识点,想把以前的记录下载博客里,既方便自己以后查阅,同时也能让自己有一个更深刻的记忆。 dubbo构成: 2者(服务提供者【无状态】,服务消费者),2中心(服务注册中心,服务监控中心)。 (1) 连通性:连通流程 (2) 健状性:多数部分宕挂了,其余服务部分仍能正常使用 (3) 伸缩性:主要是伸,动态增加机器部署实例 public void ensureCapacity(int minCapacity) { int minExpand = (elementData != DEFAULTCAPACITY_EMPTY_ELEMENTDATA) // any size if not default elemen...阅读全文

博文 2019-04-04 09:44:24 www.allocmem.com

自己写ArraryList GoArrayList

前言: java ArrayList的简易实现,代码中注释比较详尽,通俗易懂。 正文: GoArrayList.java package com.anteoy.dataStructuresAndAlgorithm.javav2.my; import java.util.Iterator; import java.util.NoSuchElementException; /** * Created by zhoudazhuang on 17-3-1. * Description: 简易Arrarylist实现 */ public class GoArrayList implements Iterable { //定义默认容量 private static final int DEF...阅读全文

博文 2019-04-04 09:50:42 www.allocmem.com

使用kryo做序列化会遇到的几个坑_paoma_1008的博客

Kryo 序列化与反序列化一些问题 gaording的博客 03-27 1792 公司其他组有个公共的maven依赖包中的序列化与反序列化采用了kryo,所以我在新代码中也测试了下kryo,测试的时候有几个问题记录如下: 1.kryo反序列化时是通过反射默认调用类的无参构造函数,如果类或者类的对象属性没有无参构造构造函数,则会抛出反序列化失败的异常,解决方法可以写一个继承kryo类的子类,重新实现通过反射去获取实例的方法,参考博客:https://vyloy.iteye.... Redis使用kryo来进行序列化遇到的问题 qq_28600087的博客 04-09 1876 1.通过spring-data-redis集成redis,使用kryo的方式来序列化value值,kryo是一款高性能...阅读全文

博文 2022-03-23 12:56:04 CSDN博客

ubuntu 16.04 解决有线网卡驱动Exec format error问题

前言 ubuntu 16.04的工作本,有线网卡总是出一些比较坑的问题,比如有时候能用有时候突然又不能用了,有时候开机没问题正常使用,有时候开机完全找不到有线连接,同时,个人使用习惯会经常休眠,而休眠唤醒过后,有线网就肯定不能用了.原本比较少用有线网络,这个工作本的有线网络也没有怎么管它.另外这个本也有好几年了,原本以为是网卡接口接触不良,最近公司的无线网络越来越难用,越来越慢,于是就好好看了下这个有线网卡的问题. 驱动问题 稍做检查,发现是ubuntu在安装的时候,默认装的驱动居然不是最适配的驱动(最后发现这是一个坑,因为我手动也无法装上官网最适合的驱动,估计ubuntu发现自己无法装最适合的,自主切换为另一个有问题的驱动) lspci -v 0e:00.0 Ethernet contro...阅读全文

博文 2019-04-04 09:56:54 www.allocmem.com

长连接/websocket/SSE等主流服务器推送技术比较

最近做的某个项目有个需求,需要实时提醒client端有线上订单消息。所以保持客户端和服务器端的信息同步是关键要素,对此我们了解了可实现的方式。本文将介绍web常用的几种方式,希望给需要服务器端推送消息的同学在选型上有一点启发。一、推送技术常用的集中实现的实现方式1.1 短连接轮询:前端用定时器,每间隔一段时间发送请求来获取数据是否更新,这种方式可兼容ie和支持高级浏览器。通常采取setInterval或者setTimeout实现。(轮询示意图)通过递归的方法,在获取到数据后每隔一定时间再次发送请求,这样虽然无法保证两次请求间隔为指定时间,但是获取的数据顺序得到保证。 缺点:1、页面会出现‘假死’setTimeout在等到每次EventLoop时,都要判断是否到指定时间,直到时间到再执行函数,...阅读全文

博文 2020-05-15 07:26:05 知乎

Hive SQL的编译过程

Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区的咨询和自己的努力,在解决这些问题的同时我们对Hive将SQL编译为MapReduce的过程有了比较深入的理解。对这一过程的理解不仅帮助我们解决了一些Hive的bug,也有利于我们优化Hive SQL,提升我们对Hive的掌控力,同时有能力去定制一些需要的功能。MapReduce实现基本SQL操作的原理详细讲解SQL编译为MapReduce之前,我们先来看看MapReduce框架实现SQL基本操作的...阅读全文

博文 2020-08-07 07:08:10 美团技术团队

如何查看一个运行容器的docker run启动参数_深海微澜

场景:如何查看一个运行docker 容器的docker run启动参数,假设没有使用docker-compose这样的编排工具。现在我如何进行重启,如何找回此前的启动命令? 方法1:runlike参考 参考 用法:runlike -p将命令行分解为行 安装: pip install runlike 如果想不安装,执行命令(注:assaflavie/runlike实际上是一个docker image): docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike YOUR-CONTAINER 方法2:rekcod 参考 安装: rpm: yum install ...阅读全文

博文 2020-11-22 14:25:11 CSDN博客_查看docker启动参数

深信服ssl

ps: 原本我是写得比较详细的,写了一大堆,结果突然有道云笔记网页版自动给我刷新了,关键是刷新过后之前写的内容啥都没有。我目前先把安装过程的简略笔记放出来吧,如果有疑问,可以下面评论给我留言,我看到就会回复。 安装坑爹 ssl easyconnect 的公司vpn踩坑记录 目前去我们那个下载页面,发现是老版本,不支持这个easyconnect linux的客户端,于是只能走浏览器的applet了。 现在多数主流浏览器为了安全已经废弃并禁止了applet在浏览器上的运行。被迫选择firefox降级到49。 安装坑爹的applet执行环境来了 jdk1.8 也就是用jre1.8 然后找到了bin下的ControlPannel给予域名例外权限,正常运行,但是就是访问不能成功,试了好久还是不行。 被...阅读全文

博文 2019-04-04 09:57:36 vpn在linux ubunt16.04中安装实测笔记

Golang GC核心要点和度量方法

一. Go GC 要点先来回顾一下GC的几个重要的阶段: Mark Prepare - STW做标记阶段的准备工作,需要停止所有正在运行的goroutine(即STW),标记根对象,启用内存屏障,内存屏障有点像内存读写钩子,它用于在后续并发标记的过程中,维护三色标记的完备性(三色不变性),这个过程通常很快,大概在10-30微秒。 Marking - Concurrent标记阶段会将大概25%(gcBackgroundUtilization)的P用于标记对象,逐个扫描所有G的堆栈,执行三色标记,在这个过程中,所有新分配的对象都是黑色,被扫描的G会被暂停,扫描完成后恢复,这部分工作叫后台标记(gcBgMarkWorker)。这会降低系统大概25%的吞吐量,比如MAXPROCS=6,那么GC P期...阅读全文

博文 2020-03-09 02:28:08 wudaijun's blog

Spark(五)Spark任务提交方式和执行流程 - Frankdeng

一、Spark中的基本概念 (1)Application:表示你的应用程序 (2)Driver:表示main()函数,创建SparkContext。由SparkContext负责与ClusterManager通信,进行资源的申请,任务的分配和监控等。程序执行完毕后关闭SparkContext (3)Executor:某个Application运行在Worker节点上的一个进程,该进程负责运行某些task,并且负责将数据存在内存或者磁盘上。在Spark on Yarn模式下,其进程名称为 CoarseGrainedExecutor Backend,一个CoarseGrainedExecutor Backend进程有且仅有一个executor对象,它负责将Task包装成taskRunner,并从...阅读全文

博文 2019-11-27 06:07:44 博客园

我理解的Linux IO模式及select,poll,epoll

前言 本文是在本人查阅部分资料,并综合了众多博客分析后,于此阐述的个人理解。若有错误,欢迎指正。 基本概念 用户空间和内核空间 操作系统核心-内核负责处理用户程序和硬件之间的驱动交互。内核是在用户程序(进程)和硬件之间一个中枢。目地:专门负责用户进程和硬件之间的交互,用户程序必须使用内核才能和计算机底层硬件进行交流。为了保证内核的安全,于是将内存划分开,比如针对linux 4G的内存空间,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间。 进程切换 内核操作CPU上运行的进程,比如把正在CPU上运行的A进程切换为B进程,让另外一个进程等待...阅读全文

博文 2019-04-04 09:56:41 www.allocmem.com

Hugepage导致进程占用物理内存过多的问题

Hugepage导致进程占用物理内存过多的问题 首页 分类 标签 留言 关于 订阅 2015-04-30 | 分类 Linux | 标签 memory 1 问题 业务同样的程序跑在TDocker、XEN,占用的内存却相差很大。 TDocker: XEN: 可以看到,虽然VIRT一样,但是程序占用的物理内存却相差6倍。 2 原因分析 经过各种分析,后来levy同学发现关闭transparent hugepage就解决了这个问题。TDocker使用的CentOS6.5的内核,默认开启了transparent hugepage。 # cat /sys/kernel/mm/redhat_transparent_hugepage/enabled [always] madvise never 关闭tra...阅读全文

博文 2019-07-31 03:52:21 hustcat.github.io

【Spark调优】小表join大表数据倾斜解决方案

【使用场景】 对RDD使用join类操作,或者是在Spark SQL中使用join语句时,而且join操作中的一个RDD或表的数据量比较小(例如几百MB或者1~2GB),比较适用此方案。 【解决方案】 小表join大表转为小表broadcast+map大表实现。具体为: 普通的join是会shuffle的,而一旦shuffle,就相当于会将相同key的数据拉取到一个shuffle read task中再进行join,此时就是reduce join,此时如果发生数据倾斜,影响处理性能,而此时恰好一个RDD是比较小的,则可以采用广播小RDD全量数据+map算子来实现与join同样的效果,也就是map join,因为这样不会发生shuffle,也就不会发生数据倾斜。 也就是说,不使用join算子进...阅读全文

博文 2021-05-17 13:18:52 www.shuzhiduo.com

WebSocket与http长连接的区别 - 我只是个前端AI

前言 事先说明这是鄙人看了一点入门文章总结的粗浅的知识, 并不保证理解完全正确,用来给自己知识梳理用。 websocket连接过程概述 WebSocket 建立连接需要先通过一个 http 请求进行和服务端握手。握手通过后连接就建立并保持了。浏览器先发送请求: GET / HTTP/1.1 Host: localhost:8080 Origin: [url=http://127.0.0.1:3000]http://127.0.0.1:3000[/url] Connection: Upgrade Upgrade: WebSocket Sec-WebSocket-Version: 13 Sec-WebSocket-Key: w4v7O6xFTi36lq3RNcgctw== 服务端返回一个请求: ...阅读全文

博文 2019-05-07 09:45:13 SegmentFault 思否

ssh over socks5:通过socks5 proxy来连接ssh服务器

October 19, 2017 in Tech 最近因为不可描述的原因,我在aws soul的云主机访问不了,ssh、80、ss全部都被禁掉了。 80端口在chrome配置SwitchyOmega就可以了,但ssh不太好办,shell上配置http_proxy对ssh没什么用。 其实ssh自己就支持proxy。 注意这跟在ssh端口转发:远程和本地中介绍过使用ssh作为proxy的方法不同,ssh -D是为了用ssh做proxy,而不是通过proxy来连接ssh服务器。 TL;DR ssh -o ProxyCommand='nc -x 192.0.2.0:1080 %h %p' user@awshost 原理解析 $ man ssh_config ProxyCommand Specifie...阅读全文

博文 2020-02-15 12:19:27 ieevee.com

查看堆外内存_运维_浅蓝浅蓝

Java堆外内存排查小结 06-29 阅读数 1万+ 简介JVM堆外内存难排查但经常会出现问题,这可能是目前最全的JVM堆外内存排查思路。通过本文,你应该了解:pmap命令gdb命令perf命令内存RSS、VSZ的区别javaNMT起因这几天遇到一个比较... 博文 来自: 小姐姐味道 阿里巴巴 Arthas 3.1.0版本:在线教程、内存编译器和强大的自动补全 02-14 阅读数 52 Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。从Arthas上个版本发布,已经过去两个多月了,Arthas 3.1.0版本不仅带来大家投票出来的新LOGO,还带来强大的新功能和更... 博文 来自: weixin_33975951的博客 JVM堆外内存问题排查 07-15 阅读数 75...阅读全文

博文 2020-04-22 10:34:46 CSDN博客

Spark入门之DataFrame/DataSet - justcodeit

目录Part I. Gentle Overview of Big Data and SparkOverview1.基本架构2.基本概念3.例子(可跳过)Spark工具箱1.Datasets: Type-Safe Structured APIs2.Structured Streaming3.Machine Learning and Advanced Analytics4.Lower-Level APIsPart II. Structured APIs—DataFrames, SQL, and DatasetsStructured API Overview1.Spark Types2.Structured API ExecutionBasic Structured Operations1.Sch...阅读全文

博文 2021-02-09 06:06:18 博客园

netty笔记(1)--ctx.write()和channel().write()的区别

写博客 CSDN 中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。 教程 文章 帮助 视频 讨论 华为云入门 华为云资源专属DeC 华为云计算架构设计 华为云DevCloud实战 华为云专家_开发者中心-华为云 华为云强化实战营 WeLink免密登录华为云 单点登录华为云 钉钉免密登录华为云 华为云ModelArts送你降温神器—鬼故事生成器 华为云_CS_入门视频 华为云平台之大模型上传 前端小白历险记(二)原来是你腾讯搞的鬼! 最新文章 为你推荐 Netty 系列笔记之开篇 netty 入门 Netty源码分析 (八)----- write过程 源码分析 ...阅读全文

博文 2021-09-02 12:29:08 华为云

深入理解Golang Channel

Golang使用Groutine和channels实现了CSP(Communicating Sequential Processes)模型,channles在goroutine的通信和同步中承担着重要的角色。在GopherCon 2017中,Golang专家Kavya深入介绍了 Go Channels 的内部机制,以及运行时调度器和内存管理系统是如何支持Channel的,本文根据Kavya的ppt学习和分析一下go channels的原理,希望能够对以后正确高效使用golang的并发带来一些启发。以一个简单的channel应用开始,使用goroutine和channel实现一个任务队列,并行处理多个任务。func main(){ //带缓冲的channel ch := make(chan T...阅读全文

为什么说字节跳动“根本没有管理”?

就在今年的3月份,字节跳动迎来新一轮组织架构大调整。 不同于同时期崛起的创业企业,过去很长一段时间里,字节跳动的架构中极少有CXO的身影,更没有CFO、CMO和CTO。 14名高管直接向CEO张一鸣汇报,涵盖公司所有职能,这一模式让张一鸣很难有富余的时间精力去做除了团队管理和业务沟通以外的事。 ![image.png](https://img-blog.csdnimg.cn/2020063015264347.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FF...阅读全文

图解Golang的内存分配

一般程序的内存分配在讲Golang的内存分配之前,让我们先来看看一般程序的内存分布情况: 以上是程序内存的逻辑分类情况。 我们再来看看一般程序的内存的真实(真实逻辑)图: Go的内存分配核心思想Go是内置运行时的编程语言(runtime),像这种内置运行时的编程语言通常会抛弃传统的内存分配方式,改为自己管理。这样可以完成类似预分配、内存池等操作,以避开系统调用带来的性能问题,防止每次分配内存都需要系统调用。 Go的内存分配的核心思想可以分为以下几点: 每次从操作系统申请一大块儿的内存,由Go来对这块儿内存做分配,减少系统调用 内存分配算法采用Google的TCMalloc算法。算法比较复杂,究其原理可自行查阅。其核心思想就是把内存切分的非常的细小,分为多级管理,以降低锁的粒度。 回收对象内存...阅读全文

博文 2019-09-11 08:49:15 RyuGou的博客

Golang源码探索(三) GC的实现原理 - q303248153

Golang从1.5开始引入了三色GC, 经过多次改进, 当前的1.9版本的GC停顿时间已经可以做到极短. 停顿时间的减少意味着"最大响应时间"的缩短, 这也让go更适合编写网络服务程序. 这篇文章将通过分析golang的源代码来讲解go中的三色GC的实现原理. 这个系列分析的golang源代码是Google官方的实现的1.9.2版本, 不适用于其他版本和gccgo等其他实现, 运行环境是Ubuntu 16.04 LTS 64bit. 首先会讲解基础概念, 然后讲解分配器, 再讲解收集器的实现. 基础概念 内存结构 go在程序启动时会分配一块虚拟内存地址是连续的内存, 结构如下: 这一块内存分为了3个区域, 在X64上大小分别是512M, 16G和512G, 它们的作用如下: arena a...阅读全文

博文 2019-09-11 09:44:31 博客园

深入浅出 Go trace

本篇文章简要介绍了go语言执行跟踪程序(Trace),从功能和性能上阐述了它的优势。前言你有没有考虑过,你的goroutines是如何被go的runtime系统调度的?是否尝试理解过为什么在程序中增加了并发,但并没有给它带来更好的性能?go执行跟踪程序可以帮助回答这些疑问,还有其他和其有关性能的问题,例如延迟、竞争和较低的并行效率。该工具是Go 1.5版本加入的,通过度量go语言特定事件的运行时,例如:创建,启动和终止goroutines阻塞/非阻塞goroutines(syscalls, channels, locks)网络 I/OSyscalls垃圾回收以上事件的所有数据会被跟踪器收集,而且不会做任何类型的聚合和抽样。这在一些复杂的应用程序中,通过 go tool trace 命令对其进...阅读全文

博文 2019-08-30 07:29:04 IT程序猿

Go语言TCP Socket编程

Golang的主要 设计目标之一就是面向大规模后端服务程序,网络通信这块是服务端 程序必不可少也是至关重要的一部分。在日常应用中,我们也可以看到Go中的net以及其subdirectories下的包均是“高频+刚需”,而TCP socket则是网络编程的主流,即便您没有直接使用到net中有关TCP Socket方面的接口,但net/http总是用到了吧,http底层依旧是用tcp socket实现的。 网络编程方面,我们最常用的就是tcp socket编程了,在posix标准出来后,socket在各大主流OS平台上都得到了很好的支持。关于tcp programming,最好的资料莫过于W. Richard Stevens 的网络编程圣经《UNIX网络 编程 卷1:套接字联网API》 了,书中...阅读全文

博文 2019-05-07 10:46:53 Tony Bai

第1章04节 | 常见开源OLAP技术架构对比

1. 什么是OLAP OLAP(On-line Analytical Processing,联机分析处理)是在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。可以比较下其与传统的OLTP(On-line Transaction Processing,联机事务处理)的区别来看一下它的特点:OLAP的优势是基于数据仓库面向主题、集成的、保留历史及不可变更的数据存储,以及多维模型多视角多层次的数据组织形式,如果脱离的这两点,OLAP将不复存在,也就没有优势可言。参考:http://webdataanalysis.net/web-data-warehouse/data-cube-and-olap/2. OLAP引擎的常见操作下面所述几种OLAP操作,是针对Kimball的星型模型(Sta...阅读全文

博文 2021-03-01 06:20:51 知乎

在spark中使用UDF函数

spark-udf虽然spark.sql.function中的已经包含了大多数常用的函数,但是总有一些场景是内置函数无法满足要求的,此时就需要使用自定义函数了(UDF)。刚好最近用spark时,scala,java,python轮换着用,因此这里总结一下spark中自定义函数的简单用法。这里总结了scala,java,python 三种接口的DataFrame和sparkSQL的自定义函数定义和使用方法,对于比较复杂的分组自定义函数未涉及,对于这类复杂需求,应该有变通之法吧。1、pyspark接口的UDF1.1、在dataframe中使用# 定义自定义函数 import numpy as np def log_py(num): return float(np.log(num)) # 注册自定...阅读全文

博文 2020-11-19 06:49:07 知乎

关于mysql中LOAD DATA LOCAL INFILE指定列_数据库_qq_31083701的博客

mysql load data部分字段的正确写法 05-30 阅读数 6321 在日常运维中,会经常遇到将文件中数据导入到数据库中,如果是.sql文件,直接采用source方式即可;如果是.csv、.txt文件,可以采用 load data 方式。这两种方式都十分熟悉,这里说一种... 博文 来自: MYSQL轻松学的专栏 mysql LOAD DATA INFILE 导入数据某一列为空 10-08 SQL 语句: LOAD DATA LOCAL INFILE 'data_info.txt' INTO TABLE t1 IGNORE 1 LINES (@date,@time,@name,@weight_lb,@state) SET dt = CONCAT(@date,' ',@time), ...阅读全文

博文 2020-04-24 08:11:28 CSDN博客

疫情之下 | 教你远程办公高效又安全

新冠肺炎疫情防控期间可以说是我国数字化时代最大规模的一次集体远程办公。对于IT互联网企业来说,远程办公并不陌生,但对于传统行业来说,远程办公面临着诸多问题及系列隐私数据安全隐患。 不管是远程办公还是传统的办公楼集群式办公都是基于人与人之间的沟通、基于文档获取与协作完成的。对于传统企业来说,远程办公难度更大,它对企业内部及内外部的沟通效率、文件快速获取能力、文档安全性的要求更加高。 本次疫情或将进一步加快线上办公对传统办公模式的替代,它让许多不愿改变的企业主动接受线上办公,当然也暴露出诸多问题。今天,我们就围绕上述的三大核心问题进行探讨,企业到底该如何应对? [CORNERSTONE](https://www.cornerstone365.cn/)又可以做些什么? 一、企业内...阅读全文

Golang map 的底层实现

在开发过程中,map是必不可少的数据结构,在Golang中,使用map或多或少会遇到与其他语言不一样的体验,比如访问不存在的元素会返回其类型的空值、map的大小究竟是多少,为什么会报"cannot take the address of"错误,遍历map的随机性等等。 本文希望通过研究map的底层实现,以解答这些疑惑。 基于Golang 1.8.3 1. 数据结构及内存管理 hashmap的定义位于 src/runtime/hashmap.go 中,首先我们看下hashmap和bucket的定义: type hmap struct { count int // 元素的个数 flags uint8 // 状态标志 B uint8 // 可以最多容纳 6.5 * 2 ^ B 个元素,6.5为装载...阅读全文

博文 2019-05-16 09:40:27 简书

IT之家学院:BIOS、EFI 与 UEFI 详解 - BIOS,EFI,UEFI

感谢IT之家网友 wkdubhe1987 的原创投稿终于又有功夫写点东西分享了,今天谈一下BIOS、EFI和UEFI。前一篇文已经说过BIOS是个程序(详情点此),存储在BIOS芯片中,而现在的新式电脑用的基本都是UEFI启动,早期的过渡电脑用的都是EFI启动。其实EFI或UEFI的一部分也是存储在一个芯片中,由于它们在表面形式、基本功能上和BIOS差不多,所以习惯上我们也把存储EFI/UEFI的芯片叫做EFI/UEFI BIOS芯片,EFI/UEFI也叫做EFI/UEFI BIOS,但在实际上它们和BIOS根本是不一样的,所以最好还是把后面的“BIOS”尾巴去掉为好,下面就来具体谈一下BIOS、EFI和UEFI。前篇文指出BIOS用于计算机硬件自检、CMOS设置、引导操作系统启动、提供硬件...阅读全文

博文 2020-08-20 03:15:55 IT之家

说好了不哭 | 周杰伦是最懂青春的人,CORNERSTONE只想成为最懂你的人

80、90后的青春,一半是周杰伦,一半是五月天。这两天朋友圈最火的莫过于周杰伦的新歌《说好不哭》,方文山作词,周杰伦作曲,歌曲中还有周董、阿信的倾情合唱,依旧是熟悉的节奏和小清新的风格,中年人的青春记忆,又回来了! ![在这里插入图片描述](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9wbS5pdGl0LmlvL3AvZmlsZS9nZXRfZmlsZS80NzU1MDkxNTNhYzg0ZGY1OTg0YzZhZTAxMjViZGE5ZS5wbmc?x-oss-process=image/format,png) 大家都说,周杰伦是“最懂青春的人”。因此,周杰伦本身就代表着一种青春的情怀。这种“约定”与“成全”的情歌,直接把QQ音乐搞崩的,也只有周董能做...阅读全文

产品经理到底要不要懂技术?

「产品经理需要懂技术吗?懂到什么程度?」这是产品新人最容易提起的问题。 不学吧,怕做产品的时候思考不周全,学吧,又感觉太难,不知道从何学起。 今天咱们就来聊聊对于产品经理来说,到底要不要懂技术,以及对技术要了解到什么程度。 ![image.png](https://img-blog.csdnimg.cn/20200622143801997.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) 我们把对技术的了解程度分为3个层次: ...阅读全文

项目经理必备的项目管理工具——CORNERSTONE

现在的在线项目管理工具越来越多了,但是大多数是一些协同工具或轻量项目管理工具。如果是多团队、跨部门使用或者企业级的项目管理,由于管理涉及面比较广,一般涵盖项目管理的五大过程组十大知识领域,从管理思想到工具运用需要适应企业的业务流程体系,并涉及企业高层战略决策和监控、中层运营管理和项目群管理、底层项目执行,管理幅度和深度都大得多,轻量级的项目管理工具远远不够支撑。 不过现在的云服务技术和项目管理方法论越来越成熟,专业在线项目管理工具除了部署方式与本地安装不同,功能上已经没有差异,而价格比本地安装低。新技术的应用最直观的结果是使得越来越多的人和企业能够以更低的成本享受更好的服务。 在IT、产品研发、专业服务领域,企业级的专业在线项目管理工具,首推[CORNERSTONE](http...阅读全文

项目管理工具,选择本地部署还是上云?

企业上云,顾名思义就是将企业环境部署到云端,“云”一般指的是互联网,不用安装服务器,可即时开通使用。根据Garther的统计数据,近年来云服务市场一直以两位数增长,越来越多的企业选择“上云”,项目管理领域的云服务工具也得到越来越多企业的青睐。 一、本地安装和云服务 本地安装和云服务是两种不一样的部署方式,本地安装指的是服务器部署,需要在公司安装服务器等硬件设备,云服务则是在云端部署,不用安装服务器,也不需要运维人员;二者各有特点,企业一般根据自己的需求选择: 二、本地安装的优点 ①安全性较高:本地安装因为数据都在自己公司和服务器上,泄露和被黑客攻击的可能性较低,是比较安全的一种部署方式。 ②自主性较高:因为所有的数据都被买断,购买本地安装的企业,如果不考虑成本...阅读全文

多图对比,项目经理和产品经理的区别

关于产品经理与项目经理的区别,彷佛散落在海边的一枚枚贝壳。它们是无数PM通过大量的工作和学习经验总结出来的。 它们能让徘徊在产品经理与项目经理之间的同学找到方向,完成职场转型蜕变。而环环此次只是在海边捡贝壳的孩子,致力于将这些智慧整理起来,造福广大圈内人。 产品vs项目 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200617150228544.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) ...阅读全文

项目管理软件这么多,为什么我只推荐它?

在新型冠性肺炎的侵袭下,似乎那一夜之间,国内大多数企业都接受了在线办公,云端协同的理念。其中,在线项目协作需求激增,根据媒体调查报告显示,疫情在家办公期间,在线项目管理工具每天应用的平均时长达5.89小时,成为疫情期间远程办公的最热SaaS应用Top 5。 如今,企业已陆续复工,越来越多企业都意识到在线项目管理的必要性和重要性,将项目工作彻底搬上云端不再是赶潮流的事情,而是变成了硬需求。选择一个合适的云端项目管理工具成为企业线上项目开展的第一步。 之前企业开展全员在家线上办公主要围绕员工建立规律性、有作息为主,使用的大多数在线办公软件也只是完成以工作计划、文档协同、考勤为主的企业内部管理业务,在项目工作的执行方面还远远不足够,比如:任务分解,进度管理、成本控制、项目追踪等等,难以...阅读全文

特斯拉宣布降薪!开源节流,疫情之下如何提升企业管理效能

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200410151114564.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) 4月7日,特斯拉给员工的一封内部信显示,4月13日起,特斯拉将采取削减开销措施,所有线上办公和职位级别较为关键的员工都将根据薪资水平的不同进行降薪。其中,在美国地区,副总裁以上级别工资削减30%,总监以上级别工资削减20%,其它所有员工工资削减10%。不能线上工作或不被视为“必要”的...阅读全文

如何做好软件项目的质量管理?

保证软件质量,是一个贯穿整个软件生存周期的重要问题。在早期,由于忽视了质量管理,导致软件项目管理的严重问题,以至于在软件开发中出现软件危机。重视软件质量管理,规范软件质量管理体系,对整个软件项目管理起到非常重用的促进作用。本文主要通过对管理策略的介绍,来达到提高软件质量的目的。 在软件开发团队中,由于质量被视为软件产品的生命。那么什么是软件质量?软件质量:与软件产品满足明确或隐含需求的能力有关的特征和特征的总和,它反映了三个方面的问题: 1、能满足客户需求的特性之全体; 2、利用各种质量标准体系,指导软件开发人员开发软件; 3、是否满足用户隐含需求。软件质量管理的目的是建立对项目的软件产品质量的定量理解,和实现特定的质量目标;着重于确定软件产品的质量目标、制定达到这些目标的计...阅读全文

从罗永浩直播刷屏,来看如何做好项目管理

前几日,罗永浩被限制消费令,再次引起了广泛的关注。而罗永浩则在微博上回应称,限制消费令已经取消,将努力工作尽快还债。 ![image.png](https://img-blog.csdnimg.cn/20200409143619714.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) 罗永浩自从锤子手机失败以来,就深陷债务危机。在今年罗永浩表示将利用自己强大的口才和粉丝团进军直播带货,进而想方设法的进行还债。 ![imag...阅读全文

敏捷开发实践之Scrum方法运用

摘要:目前软件开发除了强调产品质量,同时对产品能够快速发布并且迅速适应市场变化的要求也日益强烈。为适应这种开发环境和市场需求,传统的软件开发模式已被敏捷开发模式所替代。本文介绍敏捷软件开发中的Scrum方法,并结合实际问题,分析Scrum方法在实践中的运用。 ![image.png](https://img-blog.csdnimg.cn/20200117153148745.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) ...阅读全文