java工程师 精华 知识

【Java 并发】【二】多线程安全之可见性、有序性、原子性

1 前言 上节我们了解了CPU缓存结构以及我们的Java内存模型结构以及JMM的基本指令,我们能感受到的就是线程并发后带来的数据问题、执行问题,也就涉及到我们平时常说的可见性、有序性、原子性,那么这节我们来大概看看这三者的理解。 2 可见性 多个线程同时对某一个共享变量进行操作的时候,存在线程A的操 ......
有序性 线程 原子 Java

【Java 并发】【一】CPU多级缓存模型以及Java内存模型

1 前言 在进行 Java 并发学习的时候,我们需要有个前置基础的概念和知识理清楚,然后才能进行后面深入的学习。这节我们就来看看CPU多级缓存模型以及Java内存模型。 2 CPU多级缓存模型 我们先从CPU的多级缓存架构讲起,下面画个图整体说下CPU多级缓存架构: 2.1 高速缓存的意义 CPU与 ......
模型 Java 缓存 内存 CPU

读Java性能权威指南(第2版)笔记30_Java服务器

1. 响应式编程 1.1. 使用基于事件的范式处理异步数据流 1.2. 和异步编程提供了相同的性能优势 1.3. 能够扩展程序(特别是扩展I/O)以处理很多连接和数据源 2. 非阻塞I/O 2.1. 有效扩展服务器的基础 2.2. 允许服务器用相对较少的线程处理相对较多的连接 2.2.1. 传统的服 ......
Java 性能 权威 服务器 笔记

ZMQ [java]

java中ZMQ的用法 简介 ZMQ是基于C语言实现的消息队列, 可用TCP或UDP实现. JeroMQ是其java实现, 首先导入maven: <!-- https://mvnrepository.com/artifact/org.zeromq/jeromq --> <dependency> <g ......
java ZMQ

java(

(目录) java基本语法 主函数 class Test { public static void main(String[] args) { // 程序的代码 } } 注释 注释是对代码的解释说明,不是编程语句,因此被编译器忽略,不参与程序运行。 ==书写注释是一个必要的习惯==,平时写代码一定要 ......
java

JSON 与 Java 对象之间的转化

在现在的日常开发中,不管前端还是后端,JSON 格式的数据是用得比较多的,甚至可以说无处不在。在某些业务场景下也是需要用到 JSON 的,特别是 JSON 与 Java 对象之间的转化。 ......
对象 之间 JSON Java

Java算法学习

Java算法树通常是指数据结构中的树,它是一种非线性的数据结构,由节点组成,每个节点包含一个值和指向其他节点的引用。在算法中,树被广泛应用,因为它们具有以下优点: 树可以用于模拟层次结构(例如文件系统或分类目录),使得在这些结构中查找和插入操作更加高效。 树可以用于搜索和排序,如二叉搜索树和堆。 树 ......
算法 Java

基于搜索的软件工程(SBSE)

基于搜索的软件工程(SBSE) SBSE 是将传统的软件刚才问题转化为基于搜索的优化问题,并使用现代启发式搜索算法解决问题的研究和实践方法 传统软件工程的解决方法实在问题空间通过算法来构造一个解,而SBSE是在解空间中使用启发式搜索算法以具体问题的适应值函数作为向导搜索最优解,满足以下条件: 设计出 ......
软件工程 工程 软件 SBSE

《Java》学习随笔 4、运算符

4 Java 运算符 运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其他运算符 4.1 算术运算符 + 加法 - 相加运算符两侧的值 A + B 等于 30 - 减法 - 左操作数减去右操作数 A – B 等于 -10 * 乘法 - 相乘操作符两侧的值 A * B等 ......
运算符 随笔 Java

3.27软件工程学习总结

今天上午学习了android端的地铁查询,由于这个结对作业, 主要代码程序在队友的电脑上,通过在自己电脑上的一些调试, 完成了整个项目的运行,期间遇到了android虚拟机上不能用中文输入法的问题, 通过上网查资料和询问队友解决了这个问题。 下午上课有一种危机感的体会更加强烈,感觉自己与别人的差距还 ......
软件工程 工程 软件 3.27 27

linux系统小知识之文件占用

linux下查看某个文件夹的大小的常用命令有: 显示当前目录下各个文件及目录占用空间大小,以KB、MB等为单位进行显示 ls -lh 显示当前目录的总大小 du -sh 显示当前目录下各个文件及目录占用空间大小 du -sh * 显示当前目录和子目录文件夹/文件大小情况,以高可读方式打印 du -h ......
文件 知识 系统 linux

Linux系统小知识之log文件

​ /var/log下的各种日志文件记录了系统的一些重要信息,例如登录系统存取数据、安全和认证授权、邮件服务、计划任务等。如果随意删除这些文件,可能会导致一些问题或丢失一些有用的信息。 如果你想清理/var/log下的日志文件,可以使用以下方法: 使用journalctl命令自动维护文件大小,可以设 ......
文件 知识 系统 Linux log

软件工程日报——服务外包大赛

今天,建民老师给我们大概介绍了中国软件杯的一些题目信息,并以此开始了我们的下一个阶段,结组作业。 在课上我们组在网站上浏览选题信息,讨论了如何确定选题,经过我们三个人的讨论,最终确定了智能排班系统这个课题。 我们三个人从数据库的建立到如何排班再到如何限制信息进行比较等多方面进行了讨论,仍然还没有定下 ......
软件工程 日报 工程 软件

JAVA 正则匹配 反斜杠

原始数据: "attrs": "{\"deliveryTime\":120,\"discountValue\":1,\"serialName\":\"平键 普通型/淬火型\",\"productModelNumber\":\"AJPA-C2-HA-W4-L8\",\"goodsPriceTaxInc ......
斜杠 正则 JAVA

202031604107-米乐文 实验一 软件工程准备—初识软件工程

| 项目 | 内容 | | | | |课程班级博客链接|2020级卓越工程师班| |这个作业要求链接 |实验一——软件工程准备| |我的课程学习目标|1. 学会使用博客园进行学习2. 了解Github工具的基本操作3. 学习并掌握软件工程的相关知识4. 阅读《现代软件工程—构建之法》并完成第一篇博客 ......
软件工程 工程 软件 202031604107

Java入门_二维数组_第一题_创建三角形

题目: 动态创建一个三角形,每一行数值一样,数值从一开始。每过一行数值加一。 以下是案例图形 : 1 2 2 3 3 3 思路 : 先创建二维数组的行,因为列数保不定,故先不确定。 发现规律可知 行数下标 + 1 = 列数。 最后输出。 代码实现 import java.util.Scanner; ......
数组 三角形 Java

202031607132-何欣娜 实验一 软件工程准备—初识软件工程

| 项目 | 内容 | | : | : | |班级博客链接 |20级卓越班| |本次作业要求链接|实验一 软件工程准备| |我的课程学习目标|(1)学习软件开发者学习社区使用技巧和经验 (2)了解Github的基本操作| |本次作业在哪些方面帮我实现学习目标|(1)了解与掌握了博客园的基本使用(2) ......
软件工程 工程 软件 202031607132

Mysql--查询知识点

总结查询 ·基本查询(不带任何条件) ·条件查询(WHERE) ·聚合函数(count、max、min、avg、sum) ·分组查询(group by) ·排序查询(order by) ·分页查询(limit) 1.基础查询 1)查询多个字段 select ... from ..... 2)字段设置 ......
知识点 知识 Mysql

Java数据类型

(1)基本数据类型: a.整数类型: int i=10; bytei=20; short i=30; long i=30L; b.小数:浮点数: float i=50.12F( f ); double i=3.1415926; c.字符型: char name='M'; String name="M ......
类型 数据 Java

Java注解与反射

注解(Annotation) 注解Annotation 是 JDK5.0 引入的一种注释机制 Annotation的作用: 不是程序本身,可以对程序作出解释 可以被其他程序(比如:编译器等)读取 Annotation的作用: 注解是以"@注释名"在代码中存在的,还可以添加一些参数值 Annotati ......
注解 Java

百度2020校招Web前端工程师笔试卷(第三批)(大题21~23)

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style> body, ul, li,select { margin: 0; padding: 0; box-sizing: border-box; } ul,li {list-style: ......
前端 笔试 工程师 工程 2020

Python基本知识(编程语言、数据类型、变量与常量、运算符、格式化输出以及解释器)

什么是编程语言? 编程语言是人类与计算机之间交流的媒介,如Python、go、Java、c语言等等。 什么是编程? 程序员将自己的逻辑和想法用计算机能够读懂的语言写下来的过程。编程结果是产生一对文件。 Python的八大数据类型概览 1. 字符串string(用来存放文本) # 有四种表现形式 na ......

为什么要执行产值冲减的原因--因为系统设计的逻辑问题--产值冲减、工程结算、收入台账的顺序

1.系统设计时间逻辑的问题 1.PM系统的时间逻辑 flowchart LR A["产值冲减(时间A:统计月份)"]-->B["工程结算(时间B:结算月份)"]-->C["收入台账(时间C:统计月份)"] 2.问题的发生 这里主要是我在编制DDI项目的时候发现的问题。 因为你无论怎么替换顺序,最终是 ......
产值 台账 顺序 逻辑 收入

Java 简易计算器

Java简易计算器 思路: 利用循环使程序一直运行 Scanner接受来自用户的数据 编写加减乘除四个方法 使用switch判断用户输入的符号使用对应的加减乘除方法 public class Counter { public static void main(String[] args) { //t ......
计算器 简易 Java

Java 可变参数

可变参数 在方法声明中,在指定参数类型后加一个省略号(...)。 一个方法中只能指定一个可变参数,它必须时方法的最后一个参数。任何普通的参数必须在它之前声明。 public class Demo05 { public static void main(String[] args) { Demo05 ......
参数 Java

Java 递归

递归 递归:A方法调用A方法!就是自己调用自己 利用递归可以用简单的程序来决解一些复杂的问题。通常是把一个大的问题层层转化为一个个规模较小的问题,再逐一解决,最后进行合并。这样可以大大地减少程序的代码量 递归结构包括两个部分: 递归头:什么时候不调用自身方法。也就是边界条件,用于结束递归 递归体:什 ......
Java

Java 命令行传参

命令行传参 有时候希望运行一个程序时候在传递给它消息。这要靠传递命令行参数给main()函数实现。 public static void main(String[] args) { //args.length 数组长度 for (int i =0;i <= args.length;i++){ Sys ......
命令 Java

Java 类方法和对象方法的区别

类方法和对象方法的区别 类方法可以直接通过类名.方法名调用(在类被加载时,被一起加载) 对象方法则需要先 new 一个对象,之后再通过对象.方法名调用 public class Demo03 { public static void main(String[] args) { //类方法 int s ......
方法 对象 Java

Java 方法

方法 Java方法是语句的集合,它们在一起执行一个功能 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 一个方法只完成一个功能,这样利于我们后期的扩展 public static void main(String[] args) { int sum = ......
方法 Java