请教一个关于Spring-task定时任务的问题

List companyList=getCompanyList();
for(JSONObject company:companyList){
List todayBirthdays=getBirthdayUsers(getdate(0),company.getString("id"));
StringBuffer name=new StringBuffer();
StringBuffer ids=new StringBuffer();
StringBuilder hrsb = new StringBuilder();
ids.append("'");
ids.append("2017121618514C22B68296F31AF8DDE2");//不给XX发
ids.append("'");
ids.append(",");
String userIds ="";
if(todayBirthdays.size()>0){
for (JSONObject o : todayBirthdays) {
name.append(",");
name.append(o.getString("name"));
ids.append("'");
ids.append(o.getString("id"));
ids.append("'");
ids.append(",");
}
userIds = ids.toString().substring(0, ids.toString().length() - 1);
if (name.length() > 0) {
name.deleteCharAt(0);
}
List remindUsers=userDao.getViewJSONListByCondition(" AND companyId=? AND jobState!=1 AND id NOT in("+userIds+") GROUP BY id",new Object[]{company.getString("id")});
for (JSONObject hrUser : remindUsers) {
hrsb.append("|");
hrsb.append(hrUser.getString("id"));
}
if (hrsb.length() > 0) {
hrsb.deleteCharAt(0);
}
JSONObject msgObject = new JSONObject();
msgObject.put("userIds", hrsb);//object.getString("id")
msgObject.put("content", String.format(TODAY_BIRTHDAY_REMIND, name));
tokenDao.sendTextMsg(JSON.toJSONString(msgObject));
}

# 上面的代码,定时任务执行上边代码。我想问问这个会导致服务器占用内存爆炸吗。。是不是因为Stringbuilder的原因,之前手抖没看到怎么写了个Stringbuilder

第二天8.00执行 服务器ok,8.30左右服务器报错数据库连接最大,内存占用到了80%
我想问问是不是这个导致的

4个回答

不知道你定时任务是多久执行一次,其次你得最好打印下生成后的字符数量,如果字符确实很长,而且任务执行频繁会耗费内存,问题不在于StringBuffer,而在于你怎么用,StringBuffer是可以循环利用的,当你用完后可以通过setLength(0)进行清空,方便内存释放,不需要每次for循环都去创建实例,每创建一个实例都会导致一定数量的字符数组的创建。所有创建一次就够了,使用setLength(0)后方可重新使用

qq_36518259
语不惊人死不茠 懂了,之前每次循环都会创建三个新的Stringbuffer 不管用不用都会创建
一年多之前 回复

有大神知道是哪块代码影响的吗

首先,问题和Stringbuilder没关系。其次我想吐槽一下你的代码。
我们先捋一下你这段代码逻辑:

        List companyList = getCompanyList();// 先拿到companyList,不清楚这个list有多大
        for (JSONObject company : companyList) {
            List todayBirthdays = getBirthdayUsers(getdate(0), company.getString("id"));// 这行不清楚你想干嘛
            StringBuffer name = new StringBuffer();
            StringBuffer ids = new StringBuffer();
            StringBuilder hrsb = new StringBuilder();
            ids.append("'");
            ids.append("2017121618514C22B68296F31AF8DDE2");//不给XX发
            ids.append("'");
            ids.append(",");
            String userIds = "";
            if (todayBirthdays.size() > 0) {
                for (JSONObject o : todayBirthdays) {
                    name.append(",");
                    name.append(o.getString("name"));
                    ids.append("'");
                    ids.append(o.getString("id"));
                    ids.append("'");
                    ids.append(",");
                }
                userIds = ids.toString().substring(0, ids.toString().length() - 1);
                if (name.length() > 0) {
                    name.deleteCharAt(0);
                }
                List remindUsers = userDao.getViewJSONListByCondition(
                    " AND companyId=? AND jobState!=1 AND id NOT in(" + userIds + ") GROUP BY id",
                    new Object[] { company.getString("id") });
                for (JSONObject hrUser : remindUsers) {
                    hrsb.append("|");
                    hrsb.append(hrUser.getString("id"));
                }
                if (hrsb.length() > 0) {
                    hrsb.deleteCharAt(0);
                }
                JSONObject msgObject = new JSONObject();
                msgObject.put("userIds", hrsb);//object.getString("id")
                msgObject.put("content", String.format(TODAY_BIRTHDAY_REMIND, name));
                tokenDao.sendTextMsg(JSON.toJSONString(msgObject));
            }
        }

1、在companyList每次循环都会发起数据查询,而且这个sql看起来挺重的
2、hrsb这个字符串长度与companyList成正比,names,ids还是两重循环,如果companyList长度很长,这里就有可能有问题

qq_36518259
语不惊人死不茠 需求是这样子的,要给这个公司其他人发xxx过生日的消息,所以hrsb 就是其他人的id 和|拼起来的。。
一年多之前 回复
qq_36518259
语不惊人死不茠 回复qq_36518259: 2 List todayBirthdays = getBirthdayUsers(getdate(0), company.getString("id"));//查询这个公司今天过生日的人
一年多之前 回复
qq_36518259
语不惊人死不茠 1.companylist 估计是7,8个公司
一年多之前 回复

确实写的很乱,之前是先找过生日的人,再找公司其他人的。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Spring-Task 获取不到request
使用Spring-Task做任务调度获取当前的登陆的session中用户信息
spring-boot web项目转为spring-mvc项目
作为一个对spring-boot和spring-mvc都是简单了解的人,需要将一个springboot项目转为spring-mvc项目,求各位大神指点应该怎么快速迁移,有哪些步骤,或者我该从何学起才能实现快速迁移。
一个关于spring-data-elasticSearch的问题
首先呢,我设置了一个model ``` @Data @Document(indexName = "myes2", type = "tt") public class MyEs2 implements Serializable { @Id @Field(type = FieldType.Long, store = true, index = false) private Long id; @Field(type = FieldType.Text, store = true, analyzer = "ik_max_word", searchAnalyzer = "ik_smart") private String title; @Field(type = FieldType.Text, store = true, analyzer = "ik_max_word", searchAnalyzer = "ik_smart") private String content; } ``` 可以看到ID我设置的是long类型,但是呢生成的mapping就变成了keyword ``` { "myes2": { "mappings": { "tt": { "properties": { "content": { "type": "text", "store": true, "analyzer": "ik_max_word", "search_analyzer": "ik_smart" }, "id": { "type": "keyword" }, "title": { "type": "text", "store": true, "analyzer": "ik_max_word", "search_analyzer": "ik_smart" } } } } } } ``` 如果我强制把这个改成LONG,执行保存的时候,就会抛异常 ![图片说明](https://img-ask.csdn.net/upload/201906/28/1561688803_802718.png) 这是为什么呀,感觉好烦呀,虽然不影响我用,我也不会把ID设置成LONG,但是我搜遍了全网也没有找到有这类的问题,如果是官方就这么设计的,希望大家告诉我一下,顺便告诉我在哪看到的这么设计的,我的环境是 ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> <version>2.1.6.RELEASE</version> </dependency> ``` jdk是1.8 elasticsearch是6.2.4版本,我的强迫症都快犯了
spring task 实现实现定时任务:动态暂停 恢复 修改和删除任务
以前是用spring+quartz的方式实现的定时任务:动态暂停 恢复 修改和删除任务。 但是在spring3以后,spring自己的task包,能实现轻量级的定时任务。 项目决定不用quartz,只用spring自带的包,完成这个任务。 我搜索了资料,发现很少有这方面的资料。求叫大神们,只用spring怎么实现以上要求。
关于spring-boot-thin-launcher打出的jar包里仍然含有许多jar的问题
想把springboot打出的jar包瘦身下,找了下https://github.com/spring-projects-experimental/spring-boot-thin-launcher 然后我加配置 ``` xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>learn.springboot</groupId> <artifactId>thin-pack-demo</artifactId> <version>1.0.0</version> <name>thin-pack-demo</name> <description>demo to show how to pack thin jar and run</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <dependencies> <dependency> <groupId>org.springframework.boot.experimental</groupId> <artifactId>spring-boot-thin-layout</artifactId> <version>1.0.21.RELEASE</version> </dependency> </dependencies> </plugin> </plugins> </build> </project> ``` mvn package 后为啥打出的app.jar里还是有很多的jar 包,如下图 ![图片说明](https://img-ask.csdn.net/upload/201910/19/1571471310_262141.png) 我删除这些jar包后,执行 java -jar app.jar --thin.root c:\me\.m2 可以运行。 什么地方配置可以去除这些jar包呢
spring-boot-starter-web-2.1.7.RELEASE.jar的依赖问题
spring-boot-starter-web-2.1.7.RELEASE.jar包下只有一个META-INF/MANIFEST.MF文件,maven是怎么知道它依赖了spring-web,spring-mvc的?
关于spring @Scheduled 定时任务
因为我需要在月底 清空数据 所以我想写一个spring 的定时任务 我在网上找了一个cron的表达式生成器 每个月的最后一天 @Scheduled(cron = "0 0 0 L * ?") 这样写的话后台会异常 For input string: "L" 表达式运行报错 该如何解决 spring版本的问题吗
gradle 打包spring-boot项目(apply plugin: 'spring-boot')怎么打包依赖包不需要main函数
gradle 打包spring-boot项目(apply plugin: 'spring-boot')怎么打包依赖包不需要main函数 ``` apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'spring-boot' ``` 打包报错 ``` Unable to find main class ``` 打的包是工具包之类的东西。然后另一个包依赖它
Finchley.RELEASE无法导入spring-cloud-config-server?
## # Finchley.RELEASE无法导入spring-cloud-config-server springcloud的Finchley.RELEASE版本, 无法导入spring-cloud-config-server
怎么热加载spring-quartz-task.xml文件?
打算在页面上添加定时任务,添加成功后不想重启服务让定时任务生效,求思路
spring 定时任务不执行
``` <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd" default-lazy-init="false"> <context:annotation-config /> <context:component-scan base-package="com.tc.mytask" /> <!-- 开启这个配置,spring才能识别@Scheduled注解 --> <task:annotation-driven /> </beans> ``` ``` package com.tc.mytask; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class TaskJob { @Scheduled(cron="0/5 * * * * ? ") public void job(){ System.out.println("任务进行中。。。。"); } } ```
spring-boot主要是为了解决什么问题?
spring-boot主要是为了解决什么问题? spring-boot主要是为了解决什么问题? spring-boot主要是为了解决什么问题?
spring-hadoop.xsd在哪
江湖救急,spring-hadoop.xsd在哪spring-hadoop.xsd在哪spring-hadoop.xsd在哪spring-hadoop.xsd在哪spring-hadoop.xsd在哪spring-hadoop.xsd在哪spring-hadoop.xsd在哪
关于一个dubbo项目,zookeeper和spring-boot的bean的问题,详细情况下面说明
是这样的:一开始运行的好好的,但是中途我安装了一个wifi共享精灵,就会报出如下错误,之后卸载掉又会恢复正常,这是为什呢? 异常情况如下: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderController' defined in file [C:\Users\shengcl\Documents\workspace-sts-3.7.3.RELEASE\P160309\ouyeel\ouyeel-web-protal\target\classes\com\ouyeel\controller\OrderController.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanInitializationException: Failed to init remote service reference at filed cmsOrderService in class com.ouyeel.controller.OrderController; nested exception is java.lang.IllegalStateException: Failed to check the status of the service com.ouyeel.order.service.CmsOrderService. No provider available for the service com.ouyeel.order.service.CmsOrderService from the url zookeeper://127.0.0.1:2181/com.alibaba.dubbo.registry.RegistryService?anyhost=true&application=xplat-seed-consumer&check=false&dubbo=2.8.4&generic=false&interface=com.ouyeel.order.service.CmsOrderService&methods=create,findAll&organization=dubbox&owner=kk580kk&pid=5624&revision=0.0.1-SNAPSHOT&side=consumer&timestamp=1461047607234 to the consumer 192.168.23.1 use dubbo version 2.8.4 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) ~[spring-boot-1.3.3.RELEASE.jar:1.3.3.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766) [spring-boot-1.3.3.RELEASE.jar:1.3.3.RELEASE] at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361) [spring-boot-1.3.3.RELEASE.jar:1.3.3.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-1.3.3.RELEASE.jar:1.3.3.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:11
Spring Task作为任务调度的好处
Spring Task作为任务调度的好处都有什么啊?请简单说明几条
spring @Scheduled 定时任务,启动服务后,没触发定时任方法,不知什么原因引起
spring @Scheduled 定时任务,启动服务后,没触发定时任方法,不知什么原因引起,请大家指引 job类如下: package com.yl.reqPos; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component @Lazy(false) public class Singer { @Scheduled(cron ="0/5 * * * * ?") //第二种方式 public void singing(){ Date date=new Date(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); System.out.println(sdf.format(date)); } } 配置xml如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:task="http://www.springframework.org/schema/task" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd" default-lazy-init="false"> <context:component-scan base-package="com.yl.reqPos.*" /> <task:scheduler id="scheduler" pool-size="10" /> <task:executor id="executor" keep-alive="3600" pool-size="100-200" queue-capacity="500" rejection-policy="CALLER_RUNS" /> <task:annotation-driven executor="executor" scheduler="scheduler" /> </beans>
关于spring+quartz定时任务问题!!
怎么把定时任务写在表中,项目启动加载表数据,一个定时任务对应一个时间,在类中该怎么调用?数据写在一张表中。有人做过这种项目吗?求教啊。。
关于spring quatz定时任务配置问题
我想在固定时间执行某一定时任务应该如何设置他的日期规则。比如我想要在3、6、9、12月的25号,定时执行任务。时间怎么设置 是3,6,9,12 25 * * ? 是这样配置吗?我刚接触这个定时任务,配置的都是连续时间的定时任务。对这种不清楚怎么配置的
请教一个关于spring mvc如何取得Spring管理的bean的问题
请教一个关于spring mvc的问题: 关于http://elf8848.iteye.com/blog/875830/这个博文的第“十七、如何取得Spring管理的bean”中的第三个方法和第一种有什么区别和冲突? ![图片说明](https://img-ask.csdn.net/upload/201512/01/1448977480_656781.jpg) ![图片说明](https://img-ask.csdn.net/upload/201512/01/1448977549_27014.jpg) 第一种指明了启动加载的配置文件,而使用第三种,难道就不需要指明启动加载的配置文件么?
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
使用 Docker 部署 Spring Boot 项目
Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的 S...
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
redis分布式锁,面试官请随便问,我都会
文章有点长并且绕,先来个图片缓冲下! 前言 现在的业务场景越来越复杂,使用的架构也就越来越复杂,分布式、高并发已经是业务要求的常态。像腾讯系的不少服务,还有CDN优化、异地多备份等处理。 说到分布式,就必然涉及到分布式锁的概念,如何保证不同机器不同线程的分布式锁同步呢? 实现要点 互斥性,同一时刻,智能有一个客户端持有锁。 防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
为什么要学数据结构?
一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程序,程序设计不再是计算机专业人员的专利。很多人认为,只要掌握几种开发工具就可以成为编程高手,其实,这是一种误解。要想成为一个专业的开发人员,至少需要以下三个条件: 1) 能够熟练地选择和设计各种数据结构和算法 2) 至少要能够熟练地掌握一门程序设计语言 3) 熟知所涉及的相关应用领域的知识 其中,后两个条件比较容易实现,而第一个...
Android 9.0 init 启动流程
阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、启动流程概述一、 启动流程概述Android启动流程跟Linux启动类似,大致分为如下五个阶段。1.开机上电,加载固化的ROM。2.加载BootLoader,拉起Android OS。3.加载Uboot,初始外设,引导Kernel启动等。...
相关热词 c#委托 逆变与协变 c#新建一个项目 c#获取dll文件路径 c#子窗体调用主窗体事件 c# 拷贝目录 c# 调用cef 网页填表c#源代码 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天
立即提问