Elasticsearch 堆内存和OS Cache 以及搜索、聚合数据的实现原理问题

我有以下想法,不知道是否正确,请各位指教:
1. buffer和尚未写入系统缓存的index segment(就是一段倒排索引)存储在堆内存,其大小受jvm参数控制。
2. 系统缓存 OScache在这里可以被看做是"文件系统缓存",用于缓存打开后的segment file(段文件),存储在非堆内存,受操作系统控制。

非堆内存越大,能够打开并缓存的segment file(段文件)就越多,搜索和聚合时,能够直接从内存中获取的热数据也就越多(不需要通过IO,在磁盘中找到尚未打开的segment file,读取文件内容)。

搜索数据时,首先在OS Cache中进行搜索,如果找不到数据,则在磁盘中找到对应的index segment文件并打开,读取数据至堆内存中(ES由java开发,因此一定是读取到堆内存,而不是OS Cache),接着,在堆内存中对数据进行聚合、排序等操作,最后把数据返回给协调节点,整理后交给调用方。此外,新读取到堆内存的segment file会被Lucense缓存至OS Cache中(如果非堆内存不够用,则新按照写入时间顺序,放弃最早的数据,腾出空间,写入新数据)。

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ElasticSearch 亿级数据量分词聚合问题

服务器内存64G,单节点 现有1亿数据,有几个字段需要分词后再聚合统计。1个字段大概10G左右的数据。 整个索引有300G大小。es使用的是6.3版本,如果用fielddata,试了好多次, 基本不能完成计算。有没有什么好的办法解决这个问题,或者使用其它的技术?

Elasticsearch只入数据不查询时,会把什么数据放到内存呢

搞了一个单节点ES,入了4T的数据,机器48G内存,给ES24g内存在一次查询都没有的情况下,es堆内存占了80%,那么这些内存是什么数据占的呢 "segments": { "count": 9425, "memory_in_bytes": 19661945748, "query_cache": { "memory_size_in_bytes": 0, "total_count": 0, "fielddata": { "memory_size_in_bytes": 0, "evictions": 0 发现segmeng占了18G,那么为什么segment不刷到磁盘呢?

elasticsearch 父子查询和聚合

求大神,我用es的父子关系,查询数据,然后对查询出来的数据的任一字段进行聚合,怎么实现。我现在走到这一步了![图片说明](https://img-ask.csdn.net/upload/201703/22/1490178331_27849.jpg) 但是只能聚合父或者反过来聚合子的,没法聚合inner_hit里边的,看了5天的ES,就来任务了,亚历山大,求支援

ElasticSearch 做聚合查询

项目要用es做统计分析,目前使用DateHistogrm可以分时段做统计,比如按月,按天统计, 但是如果想要统计每天24小时各个时间段统计应该怎么做,如果按小时聚合,他会统计每天的每个小时,有什么方法能把同已时间段汇总,最后得到24条数据

elasticsearch 聚合问题

{ "size": 0, "aggs": { "group_by_message": { "phrases": { "field": "message" } } } } ,上面的聚合语句是对message的,但是message是一句话,比如说“127.0.0.1 - - [11/Aug/2014:15:00:41 +0800] "POST /himawari/api.php HTTP/1.1" 200 3491”,然后他会分析称 0800,post这样,但是这不是我想要的,我想要用这一句话来聚合而不是单独的一次,那位大神解答一下,感谢了

elasticsearch中聚合后,统计桶的个数

下面是把title进行聚合,我想求聚合后桶的个数(不使用cardinality) { size:0, "aggs": { "unique_title": { "terms": { "field": "title", "size": 10 } } } }

elasticsearch 如何批量删除重复数据?

elasticsearch中录入了许多重复数据,比如说我有username和password两个字段,elasticsearch中拥有许多username和password两个字段都一样但是id不一样的记录,该如何删除重复的数据只保留一条呢?在线等,挺急的。如下图 ![图片说明](https://img-ask.csdn.net/upload/201712/22/1513949188_471803.png) 目前共有一亿八千多万document,重复的估计得有个几千万 ![图片说明](https://img-ask.csdn.net/upload/201712/23/1514033421_707156.png)

logstash 怎样做到elasticsearch和数据库中的数据完全一致?

假如数据库中的数据被删除了,如何做到elasticsearch中对应的数据也删除?

Elasticsearch5.x如何先聚合后过滤呢

例如一张表有id,部门名称、姓名字段,部查询人数大于10的所有部门

Elasticsearch搜索过滤重复数据问题

一张表存储帖子表,一张表存储用户已经看过的帖子的表, 如何使用ElasticSearch在查询帖子的时候,过滤掉用户已经浏览过的帖子???

如何使用php-elasticsearch客户端从elasticsearch获取所有文档

<div class="post-text" itemprop="text"> <p>In one of my index, I've got the 80000 documents. I'm trying to get all the data in a single hit. There is a maximum limit of 10000 data. </p> <p>How do I can get all 80000 records at a time through php ?.</p> <p>I'm referring this URL <a href="https://packagist.org/packages/elasticsearch/elasticsearch" rel="nofollow noreferrer">https://packagist.org/packages/elasticsearch/elasticsearch</a></p> <pre><code>$params = [ "scroll" =&gt; "30s", "size" =&gt; 10000, "index" =&gt; $stdIndex, 'type' =&gt; $stdIndexType]; $response = $client-&gt;search($params); while (isset($response['hits']['hits']) &amp;&amp; count($response['hits']['hits']) &gt; 0) { $scroll_id = $response['_scroll_id']; $response = $client-&gt;scroll([ "scroll_id" =&gt; $scroll_id, "scroll" =&gt; "30s"] ); } </code></pre> </div>

elasticsearch插入数据报错

之前用的elasticsearch是1.3.2版本的,装了ik插件,用起来很正常,后面elasticsearch换成2.0.0的了,还装了logstash2.0.0,kibana4.2.0, ik分词器是1.5.0的,用Java代码批量插入的时候就报错了,在elasticsearch的控制台手动插入是没问题的 [INFO][2016-11-16 18:22:34] org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:151) main [Agatha Harkness] loaded [analysis-jcseg], sites [] [INFO][2016-11-16 18:22:35] org.elasticsearch.client.transport.TransportClientNodesService$SniffNodesSampler$1$1.handleException(TransportClientNodesService.java:443) elasticsearch[Agatha Harkness][transport_client_worker][T#1]{New I/O worker #28} [Agatha Harkness] failed to get local cluster state for [#transport#-1][USER-20150529VW][inet[localhost/127.0.0.1:9300]], disconnecting... org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream Caused by: org.elasticsearch.transport.TransportSerializationException: Failed to deserialize exception response from stream at org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:173) at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:125) at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:296) at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462) at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443) at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303) at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268) at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255) at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88) at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108) at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318) at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89) at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.io.StreamCorruptedException: Unsupported version: 1 at org.elasticsearch.common.io.ThrowableObjectInputStream.readStreamHeader(ThrowableObjectInputStream.java:46) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299) at org.elasticsearch.common.io.ThrowableObjectInputStream.<init>(ThrowableObjectInputStream.java:38) at org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:170) ... 23 more [WARN][2016-11-16 18:22:35] org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:135) elasticsearch[Agatha Harkness][transport_client_worker][T#1]{New I/O worker #28} [Agatha Harkness] Message not fully read (response) for [0] handler org.elasticsearch.client.transport.TransportClientNodesService$SniffNodesSampler$1$1@7e8c9412, error [true], resetting [INFO][2016-11-16 18:22:39] org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:862) Thread-1 Closing org.springframework.context.support.GenericApplicationContext@fbd1f6: startup date [Wed Nov 16 18:21:55 CST 2016]; root of context hierarchy [INFO][2016-11-16 18:22:39] org.elasticsearch.node.internal.InternalNode.stop(InternalNode.java:272) Thread-1 [Fer-de-Lance] stopping ... [INFO][2016-11-16 18:22:39] org.elasticsearch.node.internal.InternalNode.stop(InternalNode.java:310) Thread-1 [Fer-de-Lance] stopped

Elasticsearch索引数据丢失

项目已经运行一年了之前从未出现过这种问题最近半个月突然出现索引丢失数据的情况 通过es打印的日志也没有发现问题 ## 服务器配置 系统:contos7 CPU:1 内核:1核 内存:16G 环境:jdk1.8、es2.4** ## 部分日志 [2020-05-13 09:02:54,107][INFO ][discovery ] [chain_store_1] chain_store/i-TSPqKyRR6F-od14etdJQ [2020-05-13 09:02:57,148][INFO ][cluster.service ] [chain_store_1] new_master {chain_store_1}{i-TSPqKyRR6F-od14etdJQ}{172.17.0.1}{172.17.0.1:9301}, reason: zen-disco-join(elected_as_master, [0] joins received) [2020-05-13 09:02:57,189][INFO ][http ] [chain_store_1] publish_address {172.17.0.1:9300}, bound_addresses {0.0.0.0:9300} [2020-05-13 09:02:57,189][INFO ][node ] [chain_store_1] started [2020-05-13 09:02:57,197][INFO ][gateway ] [chain_store_1] recovered [0] indices into cluster_state [2020-05-13 09:03:22,780][INFO ][cluster.metadata ] [chain_store_1] [activity_es_index] creating index, cause [auto(bulk api)], templates [], shards [5]/[1], mappings [] [2020-05-13 09:03:23,247][INFO ][cluster.metadata ] [chain_store_1] [activity_es_index] create_mapping [activity_es_type] [2020-05-13 09:03:23,266][INFO ][cluster.routing.allocation] [chain_store_1] Cluster health status changed from [RED] to [YELLOW] (reason: [shards started [[activity_es_index][4], [activity_es_index][4]] ...]). [2020-05-13 09:03:32,556][INFO ][cluster.metadata ] [chain_store_1] [apk_es_index] creating index, cause [auto(bulk api)], templates [], shards [5]/[1], mappings [] [2020-05-13 09:03:32,694][INFO ][cluster.routing.allocation] [chain_store_1] Cluster health status changed from [RED] to [YELLOW] (reason: [shards started [[apk_es_index][4]] ...]). ## es配置文件 ![图片说明](https://img-ask.csdn.net/upload/202005/13/1589338034_25651.png)

elasticsearch 从oralce导入400w条数据 大概需要多少硬盘空间

elasticsearch 从oralce导入400w条数据 大概需要多少硬盘空间

elasticsearch的数据同步

如何使elasticsearch与mysql数据库数据同步?网上的都是linux的,有没有window的啊? 能否详细一点。

java操作es聚合结果排序

java的es分许排序查询 根据聚合结果排序 类似于SQL:select sex,count(*) from table_name group by sex order by count(*) 求大神解答?????急急急

关于elasticsearch的添加数据

elasticsearch7.2.0版本,在kibnan操作的 执行如下操作就会报错 PUT myindex/_doc/18 { "name": "pipeline", "dat3":"测试", "msg": "123", "ab":{ "content":{ "c":"564654123" } }, "newFile2":{ "name":{ "id":"564654123" } }, "newFile1":"111" }``` 报错信息 { "error": { "root_cause": [ { "type": "mapper_parsing_exception", "reason": "failed to parse field [newFile2] of type [text] in document with id '18'" } ], "type": "mapper_parsing_exception", "reason": "failed to parse field [newFile2] of type [text] in document with id '18'", "caused_by": { "type": "illegal_state_exception", "reason": "Can't get text on a START_OBJECT at 10:14" } }, "status": 400 } ``` 但是吧newFile2变成newFile3,newFile1变成newFile5就正常添加了,没有问题 PUT myindex/_doc/18 { "name": "pipeline", "dat3":"测试", "msg": "123", "ab":{ "content":{ "c":"564654123" } }, "newFile3":{ "name":{ "id":"564654123" } }, "newFile5":"111" } 有人知道是什么原因吗 ``` ```

mysql的数据修改后实时更新到elasticsearch的问题

最近在研究elasticsearch,mysql中新增和修改的数据已经能够自动的同步到elasticsearch中了,但是删除的数据无法自动的从elasticsearch中删除,请问各位大神改怎么做才行?

通过logstash将sql数据导入elasticSearch,但是es里面只有一行数据,求大神帮看看

es映射文件: ``` { "mappings": { "_doc": { "properties": { "@timestamp" : { "type" : "date" }, "orderNo": { "type": "keyword" }, "comSubCode": { "type": "keyword" } } } } } ``` sql: ``` SELECT order_main.order_no AS orderNo, order_main.com_sub_code AS comSubCode FROM order_main ``` 执行的sh脚本: ``` #!/bin/sh source ./gloable.sh indexFile="my_index_company_order_report" index="my_index_company_order_report$SUFFIX" index_type="_doc" index_data="my_index_company_order_report_data$SUFFIX" document_id=%{id} sed -i 's/$SUFFIX/'$SUFFIX'/g' $indexFile.json # 删除一个索引 curl -XDELETE 'http://'$ES_IP':'$ES_PORT'/'$index'/' # 根据指定的创建一个空索引 curl -H "Content-Type: application/json" -XPUT 'http://'$ES_IP':'$ES_PORT'/'$index'' -d @''$indexFile''.json # 导入数据 ${LOGSTASH_BIN_DIR}/logstash -e ' input { jdbc { jdbc_driver_library =>"./mysql-connector-java-5.1.46-bin.jar" jdbc_driver_class =>"com.mysql.jdbc.Driver" jdbc_connection_string =>"'$JDBC_COMPANY_ORDER'" jdbc_user =>"'$JDBC_USER'" jdbc_password =>"'$JDBC_PWD'" lowercase_column_names => "false" statement_filepath => "./'$indexFile'.sql" } } output { elasticsearch { action => "index" hosts =>["'$ES_IP':'$ES_PORT'"] index =>"'$index'" document_type =>"'$index_type'" document_id => "'$document_id'" } }' --path.data ${LOGSTASH_DATA_DIR}/$index_data ``` 控制台输出: ``` [deployer@cloudplatform-xian-yh29 create_es_index]$ ./my_index_company_order_report.sh {"acknowledged":true}{"acknowledged":true,"shards_acknowledged":true,"index":"my_index_company_order_report"}Sending Logstash logs to /home/aiuap_jc/ELK6.5.3/logstash-6.5.3/logs which is now configured via log4j2.properties [2020-03-11T20:46:27,206][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.queue", :path=>"/home/aiuap_jc/ELK6.5.3/logstash-6.5.3/data/my_index_company_order_report_data/queue"} [2020-03-11T20:46:27,213][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.dead_letter_queue", :path=>"/home/aiuap_jc/ELK6.5.3/logstash-6.5.3/data/my_index_company_order_report_data/dead_letter_queue"} [2020-03-11T20:46:27,635][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified [2020-03-11T20:46:27,647][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"6.5.3"} [2020-03-11T20:46:27,683][INFO ][logstash.agent ] No persistent UUID file found. Generating new UUID {:uuid=>"da56bc0e-c6a7-4dd2-a6fc-3118bfe46fd1", :path=>"/home/aiuap_jc/ELK6.5.3/logstash-6.5.3/data/my_index_company_order_report_data/uuid"} [2020-03-11T20:46:30,547][WARN ][logstash.outputs.elasticsearch] You are using a deprecated config setting "document_type" set in elasticsearch. Deprecated settings will continue to work, but are scheduled for removal from logstash in the future. Document types are being deprecated in Elasticsearch 6.0, and removed entirely in 7.0. You should avoid this feature If you have any questions about this, please visit the #logstash channel on freenode irc. {:name=>"document_type", :plugin=><LogStash::Outputs::ElasticSearch action=>"index", index=>"my_index_company_order_report", id=>"116914b44c341514850d4765364e8c26d59056377e90ff8c080aa5b0960c6cea", document_id=>"%{id}", hosts=>[//10.236.6.52:9200], document_type=>"company_order_doc", enable_metric=>true, codec=><LogStash::Codecs::Plain id=>"plain_552f8ab0-92d5-43fd-8fb6-534dea21eaaa", enable_metric=>true, charset=>"UTF-8">, workers=>1, manage_template=>true, template_name=>"logstash", template_overwrite=>false, doc_as_upsert=>false, script_type=>"inline", script_lang=>"painless", script_var_name=>"event", scripted_upsert=>false, retry_initial_interval=>2, retry_max_interval=>64, retry_on_conflict=>1, ssl_certificate_verification=>true, sniffing=>false, sniffing_delay=>5, timeout=>60, pool_max=>1000, pool_max_per_route=>100, resurrect_delay=>5, validate_after_inactivity=>10000, http_compression=>false>} [2020-03-11T20:46:30,604][INFO ][logstash.pipeline ] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>16, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50} [2020-03-11T20:46:31,104][INFO ][logstash.outputs.elasticsearch] Elasticsearch pool URLs updated {:changes=>{:removed=>[], :added=>[http://10.236.6.52:9200/]}} [2020-03-11T20:46:31,318][WARN ][logstash.outputs.elasticsearch] Restored connection to ES instance {:url=>"http://10.236.6.52:9200/"} [2020-03-11T20:46:31,381][INFO ][logstash.outputs.elasticsearch] ES Output version determined {:es_version=>6} [2020-03-11T20:46:31,385][WARN ][logstash.outputs.elasticsearch] Detected a 6.x and above cluster: the `type` event field won't be used to determine the document _type {:es_version=>6} [2020-03-11T20:46:31,414][INFO ][logstash.outputs.elasticsearch] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["//10.236.6.52:9200"]} [2020-03-11T20:46:31,434][INFO ][logstash.outputs.elasticsearch] Using mapping template from {:path=>nil} [2020-03-11T20:46:31,464][INFO ][logstash.outputs.elasticsearch] Attempting to install template {:manage_template=>{"template"=>"logstash-*", "version"=>60001, "settings"=>{"index.refresh_interval"=>"5s"}, "mappings"=>{"_default_"=>{"dynamic_templates"=>[{"message_field"=>{"path_match"=>"message", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false}}}, {"string_fields"=>{"match"=>"*", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false, "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}}}}], "properties"=>{"@timestamp"=>{"type"=>"date"}, "@version"=>{"type"=>"keyword"}, "geoip"=>{"dynamic"=>true, "properties"=>{"ip"=>{"type"=>"ip"}, "location"=>{"type"=>"geo_point"}, "latitude"=>{"type"=>"half_float"}, "longitude"=>{"type"=>"half_float"}}}}}}}} [2020-03-11T20:46:31,704][INFO ][logstash.pipeline ] Pipeline started successfully {:pipeline_id=>"main", :thread=>"#<Thread:0xd856ba9 run>"} [2020-03-11T20:46:31,754][INFO ][logstash.agent ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]} [2020-03-11T20:46:32,045][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600} [2020-03-11T20:46:33,034][INFO ][logstash.inputs.jdbc ] (0.010293s) SELECT order_main.order_no AS orderNo, order_main.com_sub_code AS comSubCode FROM order_main [2020-03-11T20:46:34,427][INFO ][logstash.pipeline ] Pipeline has terminated {:pipeline_id=>"main", :thread=>"#<Thread:0xd856ba9 run>"} ``` 控制台也没有报错,但是查询es只有一条数据 ``` C:\Users\xiaolei>curl -X GET "http://10.236.6.52:9200/_sql" -H "Content-Type: application/json" -d "select * from my_ind ex_company_order_report" {"took":2,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":1,"max_score":1. 0,"hits":[{"_index":"my_index_company_order_report","_type":"company_order_doc","_id":"%{id}","_score":1.0,"_source":{"c omSubCode":"sxmall_2019","orderNo":"4027","@timestamp":"2020-03-11T12:46:33.153Z","@version":"1"}}]}} ``` 实际数据库是有多行数据的,求大神帮忙看看,在线等,给跪了

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解!

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解! 目录 博客声明 大数据了解博主粉丝 博主的粉丝群体画像 粉丝群体性别比例、年龄分布 粉丝群体学历分布、职业分布、行业分布 国内、国外粉丝群体地域分布 博主的近期访问每日增量、粉丝每日增量 博客声明 因近期博主写专栏的文章越来越多,也越来越精细,逐步优化文章。因此,最近一段时间,订阅博主专栏的人数增长也非常快,并且专栏价

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合。 “工作八年,两年一跳,裸辞两个月了,之前月薪60K,最近找工作找的心态崩了!所有招聘工具都用了,全部无果,不是已查看无回音,就是已查看不符合。进头条,滴滴之类的大厂很难吗???!!!投简历投的开始怀疑人生了!希望 可以收到大厂offer” 先来看看网...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

MySQL性能优化(五):为什么查询速度这么慢

前期回顾: MySQL性能优化(一):MySQL架构与核心问题 MySQL性能优化(二):选择优化的数据类型 MySQL性能优化(三):深入理解索引的这点事 MySQL性能优化(四):如何高效正确的使用索引 前面章节我们介绍了如何选择优化的数据类型、如何高效的使用索引,这些对于高性能的MySQL来说是必不可少的。但这些还完全不够,还需要合理的设计查询。如果查询写的很糟糕,即使表结构再合理、索引再...

用了这个 IDE 插件,5分钟解决前后端联调!

点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 |李海庆我是一个 Web 开发前端工程师,受到疫情影响,今天是我在家办公的第78天。开发了两周,...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

【高并发】高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

网上很多的文章和帖子中在介绍秒杀系统时,说是在下单时使用异步削峰来进行一些限流操作,那都是在扯淡! 因为下单操作在整个秒杀系统的流程中属于比较靠后的操作了,限流操作一定要前置处理,在秒杀业务后面的流程中做限流操作是没啥卵用的。

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

Java14 新特性解读

Java14 已于 2020 年 3 月 17 号发布,官方特性解读在这里:https://openjdk.java.net/projects/jdk/14/以下是个人对于特性的中文式...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

疫情后北上广深租房价格跌了吗? | Alfred数据室

去年3月份我们发布了《北上广深租房图鉴》(点击阅读),细数了北上广深租房的各种因素对租房价格的影响。一年过去了,在面临新冠疫情的后续影响、城市尚未完全恢复正常运转、学校还没开学等情况下...

面试官给我挖坑:a[i][j] 和 a[j][i] 有什么区别?

点击上方“朱小厮的博客”,选择“设为星标”后台回复&#34;1024&#34;领取公众号专属资料本文以一个简单的程序开头——数组赋值:int LEN = 10000; int[][] ...

又一起程序员被抓事件

就在昨天互联网又发生一起让人心酸的程序员犯罪事件,著名的百度不限速下载软件 Pandownload PC 版作者被警方抓获。案件大致是这样的:软件的作者不仅非法盗取用户数据,还在QQ群进...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

Intellij IDEA 美化指南

经常有人问我,你的 IDEA 配色哪里搞的,我会告诉他我自己改的。作为生产力工具,不但要顺手而且更要顺眼。这样才能快乐编码,甚至降低 BUG 率。上次分享了一些 IDEA 有用的插件,反...

【相亲】96年程序员小哥第一次相亲,还没开始就结束了

颜值有点高,条件有点好

太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

一图看完本文 一、 计算机网络体系结构分层 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。 二、 TCP/IP 基础 1. TCP/IP 的具体含义 从字面意义上讲,有人可能会认为...

腾讯面试题: 百度搜索为什么那么快?

我还记得去年面腾讯时,面试官最后一个问题是:百度/google的搜索为什么那么快? 这个问题我懵了,我从来没想过,搜素引擎的原理是什么 然后我回答:百度爬取了各个网站的信息,然后进行排序,当输入关键词的时候进行文档比对……巴拉巴拉 面试官:这不是我想要的答案 我内心 这个问题我一直耿耿于怀,终于今天,我把他写出来,以后再问,我直接把这篇文章甩给他!!! 两个字:倒排,将贯穿整篇文章,也是面试官...

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问