首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Java Web

    编写高质量代码》学习笔记(3

    Waiting)、结束状态(Terminated),线程的状态只能由新建转变为了运行状态后才能被阻塞或等待,最后终结,不可能产生本末倒置的情况,比如把一个结束状态的线程转变为新建状态,则会出现异常,例如如下代码会抛出异常 t.start(); } 此段程序运行时会报java.lang.IllegalThreadStateException异常,原因就是不能从结束状态直接转变为运行状态,我们知道一个线程的运行时间分为3部分 :T1为线程启动时间,T2为线程的运行时间,T3为线程销毁时间,如果一个线程不能被重复使用,每次创建一个线程都需要经过启动、运行、销毁时间,这势必增大系统的响应时间,有没有更好的办法降低线程的运行时间呢 T2是无法避免的,只有通过优化代码来实现降低运行时间。 线程池建立好了,那就需要线程在其中运行了,线程池中的线程是在submit第一次提交任务时建立的,代码如下: public Future<?

    65150发布于 2018-04-26
  • 来自专栏大数据进阶

    flink(13)-flink on yarn源代码分析

    session cluster和per job 因为是源码分析,所以会分为服务端和客户端两个部分的代码分析,下面我先看服务端
    session cluster模式是类似standalone,先去向
    session client和per job 由于flink不同的版本代码变动较大,所以在这里需要区分flink的版本进行一下说明 flink1.9之前的基本一致,提交至yarn的主要流程都在 到这里已经将所有的提交流程都说完了,大家对于flink争个提交流程应该有了更加清晰的认识。
    最后在来说一下flink submit的接口,这是在flink-1.10才出现的一个新的统一,流程图如下
    ?
    从上图可以看出来,AbstractSessionClusterExecutor中的主要调用逻辑其实和上面我们已经看到的session cluster的提交流程是一致的,只不过代码更加的抽象,

    1.6K30发布于 2020-04-24
  • 来自专栏小道

    Flink学习笔记(3) -- Flink API解析

    1、Flink DataStreamAPI Ⅰ、DataStream API 之 Data Sources部分详解   source是程序的数据源输入,你可以通过StreamExecutionEnvironment.addSource flink提供了大量的已经实现好的source方法,你也可以自定义source   通过实现sourceFunction接口来自定义无并行度的source,或者你也可以通过实现ParallelSourceFunction 2、Flink DataSetAPI Ⅰ、DataSet API之Data Sources部分详解 ? Ⅱ、DataSet API之Transformations部分详解 ? ? ? 3Flink Table API & SQL   Flink针对流处理和批处理提供了相关的API-Table API和SQL。    https://ci.apache.org/projects/flink/flink-docs-release-1.6/dev/table/ ? 4、Flink 支持的DataType和序列化 ? ?

    47410发布于 2021-04-13
  • 来自专栏心源易码

    Vue—怎样编写代码,Vue3的基本语法

    上一章节我们学习了Vue的项目结构,怎样用Vue3进行开发,本章我们将学习Vue的基本语法,着重学习如何编写代码Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层组件实例的数据 Vue3 中的应用是通过使用 createApp 函数来创建的const app = Vue.createApp({ /* 选项 */ }),传递给 createApp 的选项用于配置根组件。 script:而<script></script>则好理解,其就是放置js的部分,除了需要引用的文件,我们将所有的代码包裹于如下的代码中间。 虽然 SFC 需要一个构建步骤,但益处颇多:使用熟悉的 HTML、CSS 与 JavaScript 语法编写模块化组件预编译模板组件作用域 CSS使用 Composition API 时更符合人体工程学的语法通过交叉分析模板与脚本进行更多编译时优化 ; },};</script>v-for="item in url_list"循环遍历url_listurl_list 是一个对象集合,需要绑定一个key值循环遍历:v-for的更多用法可见:Vue3循环语句的若干用法绑定事件的监听器

    53400编辑于 2024-10-09
  • 来自专栏编程学习

    日志代码编写

    了解日志   日志是程序周期性运转或者特定时刻等一些常规或者特殊消息以特殊的形式打印出来,我们称为日志,关于日志,AI是这样回答的:   而我们今天要编写的日志,是使用C++编写的日志,日志格式为纯文本日志类型是应用程序日志 日志编写 ✈️日志等级   日志是有等级的,就类似程序在调试的时候分为警告,错误,和崩溃等 等级一般,日志也有自己的等级,不过这里需要人为的将日志等级进行分类。 LINE__, level, format, ##__VA_ARGS__); \ } while (0) ✈️日志加锁   我们的日志可以适用于很多场景,多线程场景也不例外,所以,我们有必要对一些代码进行加锁 完整代码 Log.hpp: #pragma once #include <cstdio> #include <iostream> #include <time.h> #include <cstdarg

    47810编辑于 2024-11-02
  • 来自专栏别先生

    【JS 基础】3 种 JavaScript 代码编写位置,新手必看!

    【JS基础】3种JavaScript代码编写位置,新手必看! 在前端开发中,JavaScript 作为核心脚本语言,代码写在哪里直接影响页面运行逻辑和开发体验。 今天就给大家系统梳理 JavaScript 代码最常见的 3编写位置,尤其适合刚入门的小伙伴理解和掌握~ 一、内嵌 <script> 标签(最基础的写法) 这是最直观的方式:在 HTML 文件中直接嵌入 DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JS代码编写位置_内嵌标签</title> DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JS代码编写位置_标签内事件</title> 掌握这三种写法的区别和适用场景,能让你在前端开发中更规范地编写 JS 代码,也为后续学习更复杂的前端工程化打下基础。

    22310编辑于 2026-01-27
  • 来自专栏大数据成长之路

    快速入门Flink (3) —— Flink的运行架构

    通过快速入门Flink的前几篇博客,博主已经为大家介绍了关于Flink的简介与架构体系以及常用几种不同模式的集群搭建过程。(?详情见Flink专栏)。 本篇博客,博主为大家带来的是Flink的运行架构的介绍。 码字不易,先赞后看! ? ---- 1、Flink的运行架构 1.1 任务提交流程 ? 也就是说,假设一共有 3 个 TaskManager,每一个 TaskManager 中的分配 3 个 TaskSlot,也 就 是 每 个 TaskManager 可 以 接 收 3 个 task , 1.4 并行数据流 Flink 程序的执行具有并行、分布式的特性。 下一篇博客,我们将正式上手Flink的实战代码,敬请期待|ू・ω・` ) 如果以上过程中出现了任何的纰漏错误,烦请大佬们指正? 受益的朋友或对大数据技术感兴趣的伙伴记得点赞关注支持一波?

    62920发布于 2021-01-27
  • 来自专栏前端一会

    编写可维护代码3:适当的抛出错误提示

    编写可维护的代码规则第3篇。 在js开发中,调试错误是一个比较头疼的事,又不像java的debug那么方便,定位错误往往不是那么容易,除非对代码熟悉无比,但即使是自己写的代码,功能一复杂,时间一长,再想快速定位问题,至少我现在是比较头疼的 写代码时,思考不想要发生的程序时,针对这个不想要发生的事,抛出错误提示。 Error:所有错误的基本类型,实际上引擎从不会抛出该类型的错误 EvalError:通过eval()函数执行代码发生错误时抛出 RangerError:一个数字超出它的边界时抛出,比较罕见 ReferenceError SyntaxError:给eval()函数传递的代码中有语法错误时抛出 TypeError:变量不是期望类型时抛出。

    1.7K50发布于 2019-08-29
  • 来自专栏飞总聊IT

    代码整洁之道-编写 Pythonic 代码

    写出 Pythonic 代码 谈到规范首先想到就是 Python 有名的 PEP8 代码规范文档,它定义了编写Pythonic代码的最佳实践。 同时这段代码无法解决字典缺少键出现异常的问题。 让我们使用函数重写此代码,使代码更具可读性和正确性; 该函数将判断异常情况,编写起来要简单得多。 在多行上编写文档字符串是用更具描述性的方式记录代码的一种方法。你可以利用 Python 多行文档字符串在 Python 代码编写描述性文档字符串,而不是在每一行上编写注释。 NetworkNotFound exception if network not found. """ import urllib3 import json 在为模块编写文档字符串时,应考虑执行以下操作 ,养成编写 Pythonic 代码的良好习惯。

    2.2K20发布于 2019-10-31
  • 来自专栏python3

    Day 3 - 编写ORM

    作业地址 http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014323389656575142d0bcfeec434e9639a80d3684a7da000 /usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'Michael Liao' import asyncio, logging import  aiomysql def log(sql, args=()):     logging.info('SQL: %s' % sql) #代码分为三部分,第一部分是aiomysql模块的应用 async return ', '.join(L) #代码分为三部分,第二部分是orm的实际应用 class Field(object):     def __init__(self, name, column_type __new__(cls, name, bases, attrs) #代码分为三部分,第三部分是调用方法 class Model(dict, metaclass=ModelMetaclass):

    51310发布于 2020-01-10
  • 来自专栏BigData_Flink

    Flink中使用Scala编写出现(...)错误

    A2 原因 没有导入相应包 A3 解决 在算子前添加 import org.apache.flink.api.scala._ ?

    73910发布于 2021-04-12
  • 来自专栏杨熹的专栏

    编写生命代码

    如各位所想,这项惊人的能力 可以让生命按照程序编写的一样 做你想让它做的事 得到你想得到的结果。 生命密码蕴含强大的力量。

    934100发布于 2018-04-02
  • 来自专栏兮动人的博客

    C 代码编写规范

    正确的缩进和空白 3. 行尾风格 4. 次行风格 1. 正确的注释和注释风格: 如果注释的一个函数,可以使用块注释 如果注释函数中的某一个语句,使用单行。 2. 比如:2 + 4 * 5 也可以使用代码格式化快捷键 Ctrl+alt+L // 可以自己设置 VC++ 2010 设置快速格式化键:工具–>选项 ? 3.

    97320发布于 2021-07-21
  • 来自专栏兮动人的博客

    C 代码编写规范

    比如:2 + 4 * 5 3) 也可以使用代码格式化快捷键 Ctrl+alt+L // 可以自己设置 VC++ 2010 设置快速格式化键:工具-->选项 [在这里插入图片描述]3.

    92860发布于 2021-06-30
  • 来自专栏Postgresql源码分析

    LLVM(3编写Pass

    Optimization --print-callgraph - Print a call graph ... ... opt提供了很多pass,例如检测代码中的死循环 、对代码中的memcpy优化、遍历全部函数分析调用关系等等。 pass需要分析IR,先生成一个IR: t3.cpp int g_var = 0; int factorial(int val); int factorial(int val) { g_var = cpp -c -o t3.bc 用pass分析t3.bc $ opt -load pathto/llvm-project/build/lib/LLVMHello.so -enable-new-pm=0 -hello t3.bc Hello: _Z9factoriali Hello: _Z14factorial_iteri Hello: main

    65530编辑于 2023-10-13
  • 来自专栏追不上乌龟的兔子

    编写更好的代码

    何为”更好”的代码本身就是仁者见仁,我们在这里主观地选择一个评价标准: 代码要满足安全性 ,可用性 ,可维护性 ,简洁性 , 高性能的要求,这几项的重要性递减。 毫无疑问编写代码本身是一件很难的事,但是在遵循一些指导原则的话,我们可以相对编写出更好的代码。 命名 有一句不太可考的名言是”计算机科学只存在两个难题:缓存失效和命名”。 不是每个程序员都要经常编写用到各种缓存机制的代码,但是我们每天都在不断地命名,好的命名需要遵从一些规则: 名副其实 我们要选择有意义的命名,date比d要好,index比i要好,list1和list2并没有比 每个代码块(if,while,for)中的代码也不宜很多,最好只是一条函数调用(有一个有意义的名称)。这也意味着函数的嵌套结构不要太复杂。 只做一件事 一般来说很长的函数也做了很多的事。 注释 好的代码描述自身的意图,当我们很难做到这一点时,才需要添加注释。 注释最大的问题是和代码相比,注释是缺乏维护的。

    94930编辑于 2023-04-13
  • 来自专栏ops技术分享

    python代码编写规范

    今天就谈谈python写代码时的一些规范。 python的代码编写基本上都要遵循PEP8的风格。 函数之间要空两行 在类中的函数,函数之间应该空一行 函数与类是同一个级别,则他们之间应该空两行 对于超出每行规定的字符数的长表达式,应当敲回车缩进,通常除了首行其余各行都要在原来的基础上再次缩进4个空格 3. 对类或函数的功能及使用方法的详细说明应使用文档字符串 python的注释尽量使用英文 5.并发 I/O密集型,像web应用这样的场景应该使用多线程编程 计算密集型,像计算圆周率等场景应该使用多进程编程,尽可能利用多核CPU优势 当然在编写代码时你的某些编辑器如 我们编写代码不仅是要实现某种功能,就尽管它是核心,但是你的代码在以后极有可能会交给别人去维护,所以你写的代码应当尽可能地让人看懂,避免给别人留坑。

    1.1K30发布于 2021-06-22
  • 如何编写PTX 代码

    编写 CUDA C/C++ 代码 使用 CUDA C/C++ 编写一个简单的内核函数(kernel)。 cvta.to.global.u64 %SP, %SP; st.global.u32 [%SP], %r5; ret; } 二、直接编写 PTX 代码 了解 PTX 的基本结构 编写函数和指令 使用 PTX 的指令集编写您需要的内核函数。 %r2, 5; st.global.u32 [%SP], %r3; 三、调试和优化 PTX 代码 使用工具分析 PTX 代码 NVIDIA 提供了多种工具来分析和调试 PTX 生成可执行文件 可以将生成的目标文件(my_kernel.o)与其他 CUDA 代码或主机代码链接,生成最终的可执行文件。 通过以上步骤,您可以方便地获得或编写 PTX 代码

    1.2K10编辑于 2025-04-05
  • 来自专栏python3

    3:elasticsearch服务编写

    import java.util.List; import java.util.Map; public interface IIndexService<T> {     /**      * 插入数据      * @param t      * @return      */     public boolean insertOne(T t);          /**      * 批量插入数据      * @param lists      * @return      */     publ

    63140发布于 2020-01-13
  • 来自专栏For XX - 专注于技术本身

    Kotlin服务端Spring Boot系列干货教程3 - 代码编写

    Dao接口、实体类、sql都已经生成好了,我们只需要编写Service、Controller即可! 1. 编写Controller @RequestMapping("/") fun selectMessageList(pageNum: Int?,type: Int? 编写Service代码 @Autowired private val messageMapper: MessageMapper? insertSelective(msg) return R(1,"") } 这里只截取了部分代码做演示,完成源码已上传 效果图 详细的日志 GitHub源码地址:https

    47410编辑于 2022-06-09
领券