0%

第三章 选择与循环

1. 条件表达式

异或:符号 ^ ,就是说两个值不相同,则异或结果为真。反之,为假。 不同为1,相同为0。

Python中值为0、False、None或空对象均被视为False

阅读全文 »

最近有时间,终于重启了自己的在 GitHub Pages 上的博客,用 hexo 建立网站确实省心省力,然而我也遇到了一些问题,在此记录一下 hexo 部署时的小波折。

阅读全文 »

第一章 基础知识

1. 基础

IDEA中安装Python插件,即可满足学习需要

IDE中要运行一个程序,必须写好这么一行

1
if __name__ == '__main__': 

意思是:当模块被直接运行时,以下代码块将被运行;当模块是被导入时,代码块不被运行。

阅读全文 »

最近遇到了一道算法题,求有向无环图(DAG)的最长路径,在这里记录下我的思路和解法。

首先是图的定义,这里根据严蔚敏的《数据结构》来:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define MAX_VERTEX_NUM 10
typedef char VertexType;

typedef struct ArcNode{ // 边表结点
int adjvex;
struct ArcNode *nextarc;
}ArcNode;

typedef struct VNode{ // 顶点表结点
VertexType data;
ArcNode *firstarc;
}VNode, AdjList[MAX_VERTEX_NUM];

typedef struct{ // 邻接表
AdjList Vertices;
int vexnum, arcnum;
}ALGraph;
阅读全文 »

版权声明:本文为CSDN博主「萧萧冷」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lengxiao1993/article/details/81568130

Java 中的锁

在 Java 中主要有两种加锁机制:

  • synchronized 关键字
  • java.util.concurrent.Lock (Lock是一个接口,ReentrantLock是该接口一个很常用的实现)

这两种机制的底层原理存在一定的差别。synchronized 关键字通过一对字节码指令 monitorenter/monitorexit 实现, 这对指令被 JVM 规范所描述。java.util.concurrent.Lock 通过 Java 代码搭配 sun.misc.Unsafe 中的本地调用实现锁。

阅读全文 »

1. 背景

在 Java 开发过程中,锁是非常常见的,如 synchronized、ReentrantLock等,一般我们用其在多线程环境中控制对资源的并发访问。在一个单机环境中实现锁比较简单,因为多线程之间可以共享内存,因此可以简单的采取内存作为标记存储位置。而在分布式环境中,多线程变成了多进程,我们原本布置的锁将在这种场景下失效。因此,分布式锁就应运而生了。

阅读全文 »

最近把自己做的一个 Java Web 项目后端部署在了 Linux 服务器上,这是项目地址,发布地址:http://111.231.171.22/index.jsp ,由于是以学习后端为目的,所以整个项目的没有前端部分,整个项目需要依靠 Chrome 插件 Restlet Client 才可以进行测试运行。

下面主要整理一下自己在部署时遇到的值得关注的地方。

服务器账号

高配置的云服务器价格比较贵,阿里云和腾讯云都提供了学生套餐,基本都是 10元/月左右,比较实惠。我申请了一台腾讯云的学生服务器,进入控制台,如下图。

阅读全文 »

来看一道有关链表的题目:

给定两个单链表的头结点 head1head2,这两个链表可能相交,也可能不相交。请实现一个函数,若两链表相交,则返回相交的第一个结点;若不相交,则返回 null
进阶要求:如果链表1的长度为 N,链表2的长度为 M,时间复杂度请达到 *O(N+M)*,额外空间复杂度请达到 *O(1)*。

如上所示,根据题意可以立刻画出一个单链表相交的示意图。

阅读全文 »

从寒假开始准备暑期实习后,整个三月都没有收到任何面试邀请,一些笔试结束后也杳无音讯了。

就在在四月快要结束的时候,上海堆糖网来了一个电话面试邀请。其实本来也准备放弃春招了,心态也比较佛,知道还有面试后又突然慌张起来,抱着面试指南看了半天(在这里感谢 SnailClimb 大佬,真正惠及广大学生的项目)。

约的时间在我看完复联后的一个小时,找了家星巴克坐下等。一会儿电话来了。

阅读全文 »

刚开始学习 Java 的时候,包括身边的同学都是在使用 Eclipse,后来在论坛看见有人大力推荐了 JetBrains 的 IntelliJ IDEA ,使用后很快上手,不禁感叹这才是真正提高生产力的 IDE。在这里整理一些使用时积累的技巧经验。本文以 IntelliJ IDEA 2018.3.5 (Ultimate Edition) 为例进行介绍,不定期更新。

阅读全文 »