-
Java类的初始化顺序
做Java开发的,起码要知道类的初始化顺序,因为这样你才知道编写的代码运行到了那里。 与文无关 一段代码 public class BaseTest { private String baseName = "baseName"; static { System.out.println("父类静态代码块"); } public BaseTest() { Sys...
时间:2018-06-16点击:183收藏
-
C++程序设计基础(5)sizeof的使用
1.知识点 (1)sizeof是一个单目运算发,而不是一个函数,其用于获取操作数所占内存空间的字节数。 (2)sizeof的操作数可以使类型名,也可以是表达式,如果是类型名则直接获得该类型所占字节数,如果是表达式,则先分析表达式结果的类型,再根据类型确定所占字节数,并不对表达式进行实际计算。 1 int a = 1; 2 double b = 1.5; 3 ...
时间:2018-06-16点击:190收藏
-
Java多线程 -- 互斥锁/共享锁/读写锁 快速入门
什么是互斥锁? 在访问共享资源之前对进行加锁操作,在访问完成之后进行解锁操作。 加锁后,任何其他试图再次加锁的线程会被阻塞,直到当前进程解锁。 如果解锁时有一个以上的线程阻塞,那么所有该锁上的线程都被编程就绪状态, 第一个变为就绪状态的线程又执行加锁操作,那么其他的线程又会进入等待。 在这种方式下,只有一个线程能够访问被互斥锁保护的资源。 什么是共享锁? 互...
时间:2018-06-16点击:126收藏
-
几个Python小案例,爱上Python编程!
Python是一种面向对象的解释型编程语言,源代码与解释器CPython遵守GPL协议,Python语法简洁清晰。 语法简洁清晰,那么我们用少量的Python代码能做哪些有趣的东西?温馨提示:文末必看。 一、画爱心表白 1、图形都是由一系列的点(X,Y)构成的曲线,由于X,Y满足一定的关系,所以我们就可以建立模型,建立表达式expression,当满足时,两...
时间:2018-06-16点击:296收藏
-
设计模式—模板方法的C++实现
这是Bwar在2009年写的设计模式C++实现,代码均可编译可运行,一直存在自己的电脑里,曾经在团队技术分享中分享过,现搬到线上来。 1. 模板方法简述 1.1 目的 定义一个操作中的算法骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 1.2 适用性 (1) 一次性实现...
时间:2018-06-16点击:225收藏
-
js代码与html代码分离示例
验证用户名是否存在的示例代码引出该思想: <%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w...
时间:2018-06-16点击:210收藏
-
C++程序设计基础(6)内存分配
1.知识点 三步走:申请,释放,指针置空。 1.1malloc、free函数 在C语言中内存malloc函数申请动态空间,以下展示其基本用法: 1 int *p = NULL; 2 p = (int *)malloc(sizeof(int) * 10);//申请 3 free(p);//释放,否则会造成内存泄漏 4 p = NULL;//指针置空,否则成为野...
时间:2018-06-16点击:190收藏
-
Java特殊符号>>,<<,>>>
Java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : 右移运算符,num >> 1,相当于num除以2 >>> : 无符号右移,忽略符号位,空位都以0补齐 image.png 前面两个<<,>>容易理解一些,一般我们都可以直接...
时间:2018-06-16点击:284收藏
-
JVM内存管理机制&线上问题排查
本文主要基于“深入java虚拟机”这本书总结JVM的内存管理机制,并总结了常见的线上问题分析思路。文章最后面是我对线上故障思考的ppt总结。 Java内存区域 虚拟机运行时数据区如下图所示: 15291199000153.jpg 方法区:方法区又称为永生代(Permanent Generation)是线程共享的内存区域。它用于存储已被虚拟机加载的类信息、常量...
时间:2018-06-16点击:200收藏
-
Python高级进阶(二)Python框架之Django写图书管理系统(LMS)
正式写项目准备前的工作 Django是一个Web框架,我们使用它就是因为它能够把前后端解耦合而且能够与数据库建立ORM,这样,一个Python开发工程师只需要干自己开发的事情就可以了,而在使用之前就我们需要给Django做文件配置和数据库配置 上一章写过的文章,有些朋友反应,对于Web框架部分写的过于深入,而对于Django项目讲解的比较少,感觉实用性不强,...
时间:2018-06-16点击:166收藏
-
增强for循环(foreach)、可变参数(...)
格式 for(元素的数据类型 变量名 :遍历的目标){ } 前提 只有实现了Iterable接口 的对象或者是数组对象才能使用 注意的细节(区别) 增强的for循环,底层还是通过获取迭代器的方式进行遍历的,只不过不需要我们手动获取迭代器而已,所以使用增强for循环的遍历元素时,不能使用集合对象改变集合对象中的元素个数 增强for循环与迭代器的区别是:增强fo...
时间:2018-06-16点击:167收藏
-
Python装饰器AOP 不定长参数 鸭子类型 重载(三)
1 可变长参数与关键字参数 *args代表任意长度可变参数 **kwargs代表关键字参数 用*args和**kwargs只是为了方便并没有强制使用它们. 缺省参数即是调用该函数时,缺省参数的值若未被传入,则传入默认预设的值。 注意 : 须将所有带有默认值的参数置于参数列表的末尾。 def print_info(name, age = 18,gender =...
时间:2018-06-16点击:209收藏
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果