上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 34 下一页

2020年5月19日

Python 包管理工具:pip

摘要: 使用 virtualenv/venv 和 pip 管理虚拟环境: 进入项目的根目录,创建虚拟环境:virtualenv --python=python3 venv或python3 -m venv ./venv(venv不用安装,不过需要python3.3以上) 进入虚拟环境:source venv/ 阅读全文

posted @ 2020-05-19 16:14 cag2050 阅读(171) 评论(0) 推荐(0)

2020年5月17日

书籍《Flask Web开发实战:入门、进阶与原理解析》,相关资料网址

摘要: 相关资料 | 网址 | 除书中第二部分以外的示例程序 | https://github.com/greyli/helloflask 关于本书的网站 | http://helloflask.com/ Python 的 .gitignore | https://github.com/github/git 阅读全文

posted @ 2020-05-17 10:24 cag2050 阅读(433) 评论(0) 推荐(0)

flask 命令行

摘要: ```$ flask --helpUsage: flask [OPTIONS] COMMAND [ARGS]... A general utility script for Flask applications. Provides commands from Flask, extensions, and the application. Loads the application defin... 阅读全文

posted @ 2020-05-17 10:11 cag2050 阅读(612) 评论(0) 推荐(0)

2020年4月28日

大数据 相关组件

摘要: 组件 | 含义 | 英文 | | Sqoop | 关系型数据的收集 | Flume | 非关系型数据的收集 | YARN | 资源管理系统 | Yet Another Resource Negotiator Mesos(Twitter) | 资源管理系统 | 阅读全文

posted @ 2020-04-28 11:28 cag2050 阅读(558) 评论(0) 推荐(0)

2020年4月24日

安装node-sass报错Python环境

摘要: 出处:https://blog.csdn.net/cathei/article/details/103195400 阅读全文

posted @ 2020-04-24 15:18 cag2050 阅读(5154) 评论(0) 推荐(0)

synchronized、volatile,是如何解决共享变量内存可见性问题的?

摘要: 关键字 | 如何解决共享变量内存可见性问题的? | synchronized | 进入synchronized块的内存语义是把在synchronized块内使用到的变量从线程的工作内存中清除,这样在synchronized块内使用到该变量时就不会从线程的工作内存中获取,而是直接从主内存中获取。退出s 阅读全文

posted @ 2020-04-24 12:08 cag2050 阅读(376) 评论(0) 推荐(0)

2020年4月23日

Thread 类中,@sun.misc.Contended("tlr") 里值 tlr 的含义

摘要: @sun.misc.Contended 的value,含义是一个组 猜测 tlr 意思是:ThreadLocalRandom。 出处:https://stackoverflow.com/questions/34529036/what is sun misc contended annotations 阅读全文

posted @ 2020-04-23 18:12 cag2050 阅读(620) 评论(0) 推荐(1)

并发包 J.U.C 中常用的类

摘要: 并发包 J.U.C 中常用的类 | 含义 | ThreadLocalRandom | 是JDK 7在JUC包下新增的随机数生成器,它弥补了Random类在多线程下的缺陷。 AtomicInteger、AtomicLong、AtomicBoolean 等 | 原子性操作类 阅读全文

posted @ 2020-04-23 16:27 cag2050 阅读(388) 评论(0) 推荐(0)

2020年4月22日

并发编程线程基础:wait、notify、notifyAll、join、sleep、yield、interrupt、ThreadLocal

摘要: 知识点 | 是否静态方法 | 用法 | 说明 | | | wait | 否 | obj.wait(); | 当一个线程调用一个共享变量的wait()方法时,该调用线程会被阻塞挂起;需要注意的是,如果调用wait()方法的线程没有事先获取该对象的监视器锁,则调用wait()方法时调用线程会抛出Ille 阅读全文

posted @ 2020-04-22 10:29 cag2050 阅读(194) 评论(0) 推荐(0)

2020年4月20日

页面的index.js中需要加上:Page({}),否则页面不能正常显示,而且提示:Page "pages/xxx/index" has not been registered yet

摘要: 页面的index.js中需要加上:Page({}),否则页面不能正常显示,而且提示:Page "pages/xxx/index" has not been registered yet 阅读全文

posted @ 2020-04-20 11:01 cag2050 阅读(2309) 评论(0) 推荐(0)

2020年4月16日

protobuf 学习资料

摘要: protobuf 学习资料 | 网址 | 阅读全文

posted @ 2020-04-16 16:35 cag2050 阅读(328) 评论(0) 推荐(0)

2020年4月14日

Golang 框架

摘要: Golang 框架 | 作用 | 网址 | | gin | web框架 | https://github.com/gin gonic/gin xorm | ORM库 | http://gobook.io/read/gitea.com/xorm/manual zh CN/ 阅读全文

posted @ 2020-04-14 14:14 cag2050 阅读(680) 评论(0) 推荐(0)

2020年4月3日

css换行

摘要: 资料 | 网址 | 彻底搞懂word break、word wrap、white space | https://juejin.im/post/5b8905456fb9a01a105966b4 word break 属性(菜鸟教程) | https://www.runoob.com/cssref/c 阅读全文

posted @ 2020-04-03 19:41 cag2050 阅读(185) 评论(0) 推荐(0)

2020年4月1日

小程序兼容 iPhone,相关资料

摘要: 相关资料 | 网址 | 网页适配iPhoneX,就是这么简单「凹凸实验室」 | https://aotu.io/notes/2017/11/27/iphonex/index.html 小程序利用safe area inset 兼容iPhoneX | https://developers.weixin 阅读全文

posted @ 2020-04-01 16:57 cag2050 阅读(195) 评论(0) 推荐(0)

微信小程序自定义tarbra的坑,动态适配iphoneX iphone11 带安全区域的手机

摘要: 资料 | 网址 | 微信小程序自定义tarbra的坑,动态适配iphoneX iphone11 带安全区域的手机 | https://developers.weixin.qq.com/community/develop/article/doc/000a00482040d8df111a9f511518 阅读全文

posted @ 2020-04-01 16:52 cag2050 阅读(864) 评论(0) 推荐(0)

count(*) 与 count(col_name) 的区别

摘要: 在 SQL 中,COUNT(*) 和 COUNT(col_name) 都用于计算表中行的数量,但它们之间存在一些区别。 COUNT(*): 计算整个表中的行数,包括所有行,不管是否包含 NULL 值。 返回表的总行数。 例如: SELECT COUNT(*) FROM table_name; COU 阅读全文

posted @ 2020-04-01 10:59 cag2050 阅读(207) 评论(0) 推荐(0)

2020年3月31日

微信小程序气泡组件

摘要: 资料 | 网址 | 微信小程序气泡组件 | https://github.com/byk04712/weapp popover 阅读全文

posted @ 2020-03-31 15:52 cag2050 阅读(2863) 评论(0) 推荐(0)

2020年3月24日

微信小程序的云函数,需要在微信开发者工具的【编辑器】中,右击云函数文件夹,选择【新建 Node.js 云函数】,然后上传;开发版中可以发送消息进行测试

摘要: 微信小程序的云函数,需要在微信开发者工具的【编辑器】中,右击云函数文件夹,选择【新建 Node.js 云函数】,然后上传;开发版中可以发送消息进行测试 阅读全文

posted @ 2020-03-24 21:18 cag2050 阅读(875) 评论(0) 推荐(0)

2020年3月19日

Redis 3.2 版本后 list 的实现 - quickList

摘要: Redis中的列表对象在版本3.2之前,列表底层的编码是ziplist和linkedlist实现的,但是在版本3.2之后,重新引入了一个 quicklist 的数据结构,列表的底层都由quicklist实现。 在早期的设计中, 当列表对象中元素的长度比较小或者数量比较少的时候,采用ziplist来存 阅读全文

posted @ 2020-03-19 15:18 cag2050 阅读(284) 评论(0) 推荐(0)

2020年3月16日

每当发生一次垃圾收集,所有用户线程都必须跑到最近的一个安全点然后挂起线程来等待垃圾回收

摘要: 每当发生一次垃圾收集,所有用户线程(严格来说,不包括正在执行native代码的用户线程,因为native代码一般不会改变Java对象的引用关系,所以没有必要挂起它们来等待垃圾回收。)都必须跑到最近的一个安全点然后挂起线程来等待垃圾回收。 使用 Xmn参数手工调整新生代的大小 阅读全文

posted @ 2020-03-16 17:40 cag2050 阅读(255) 评论(0) 推荐(0)

2020年3月8日

你了解dt.jar吗

摘要: http://www.blogjava.net/landon/archive/2011/05/15/350285.html 阅读全文

posted @ 2020-03-08 12:30 cag2050 阅读(273) 评论(0) 推荐(0)

javap,是 java printer 的缩写,是 JDK 自带的 Java 字节码分析工具

摘要: javap,是 java printer 的缩写,是 JDK 自带的 Java 字节码分析工具 阅读全文

posted @ 2020-03-08 12:27 cag2050 阅读(462) 评论(0) 推荐(0)

2020年3月6日

这段代码的返回值在出现异常和不出现异常的情况下,分别应该是多少?

摘要: 问:这段代码的返回值在出现异常和不出现异常的情况下,分别应该是多少?《深入理解Java虚拟机(第3版)》代码清单6 5 答:从Java代码的语义上讲,这三条执行路径分别为: 1. 如果try语句块中出现属于Exception或其子类的异常,转到catch语句块处理; 2. 如果try语句块中出现不属 阅读全文

posted @ 2020-03-06 17:20 cag2050 阅读(181) 评论(0) 推荐(0)

strictfp 关键字修饰方法,即 strict float point (精确浮点)

摘要: strictfp 关键字修饰方法,即 strict float point (精确浮点) 阅读全文

posted @ 2020-03-06 15:26 cag2050 阅读(298) 评论(0) 推荐(0)

transient 修饰符修饰属性:不需要序列化的属性

摘要: transient 修饰符修饰属性:不需要序列化的属性 阅读全文

posted @ 2020-03-06 14:54 cag2050 阅读(292) 评论(0) 推荐(0)

2020年3月5日

Java 中的 CAS 操作

摘要: 在JDK 5之后,Java类库中才开始使用CAS操作,该操作由sun.misc.Unsafe类里面的compareAndSwapInt()和compareAndSwapLong()等几个方法包装提供。HotSpot虚拟机在内部对这些方法做了特殊处理,即时编译出来的结果就是一条平台相关的处理器CAS指 阅读全文

posted @ 2020-03-05 15:56 cag2050 阅读(968) 评论(0) 推荐(0)

ReentrantLock 与 synchronized 的比较

摘要: 重入锁(ReentrantLock)是Lock接口最常见的一种实现[插图],顾名思义,它与synchronized一样是可重入[插图]的。在基本用法上,ReentrantLock也与synchronized很相似,只是代码写法上稍有区别而已。不过,ReentrantLock与synchronized 阅读全文

posted @ 2020-03-05 15:41 cag2050 阅读(681) 评论(0) 推荐(0)

线程安全的实现方法:互斥同步、非阻塞同步、无同步方案

摘要: 互斥同步(也称为阻塞同步,属于一种悲观的并发策略) 互斥同步,可以用:synchronized、J.U.C包中的锁 非阻塞同步(基于冲突检测的乐观并发策略,使用了硬件指令集提供的CAS功能) 非阻塞同步,可以用:J.U.C包里面的整数原子类 无同步方案 无同步方案,可以用:可重入代码(类似于纯函数) 阅读全文

posted @ 2020-03-05 15:36 cag2050 阅读(622) 评论(0) 推荐(0)

J.U.C包的意义

摘要: 从上面的介绍中我们可以看到synchronized的局限性,除了synchronized关键字以外,自JDK 5起(实现了JSR166[插图]),Java类库中新提供了java.util.concurrent包(下文称J.U.C包),其中的java.util.concurrent.locks.Loc 阅读全文

posted @ 2020-03-05 15:14 cag2050 阅读(138) 评论(0) 推荐(0)

synchronized 原理

摘要: 在Java里面,最基本的互斥同步手段就是synchronized关键字,这是一种块结构(Block Structured)的同步语法。synchronized关键字经过Javac编译之后,会在同步块的前后分别形成monitorenter和monitorexit这两个字节码指令。这两个字节码指令都需要 阅读全文

posted @ 2020-03-05 15:08 cag2050 阅读(187) 评论(0) 推荐(0)

什么场景下,使用 final、volatile、Atomic原子类、synchronized、J.U.C 包中的锁?

摘要: 使用原则 满足使用条件的情况下,按先后顺序优先使用:final、volatile、Atomic原子类、synchronized、J.U.C 包中的锁 使用 final 的场景 final关键字的可见性是指:被final修饰的字段在构造器中一旦被初始化完成,并且构造器没有把“this”的引用传递出去( 阅读全文

posted @ 2020-03-05 11:33 cag2050 阅读(343) 评论(0) 推荐(0)

2020年3月4日

volatile 原理

摘要: 可见性 当一个变量定义为volatile之后,它将具备两种特性,第一是保证此变量对所有线程的可见性,这里的“可见性”是指当一条线程修改了这个变量的值,新值对于其他线程来说是可以立即得知的。 volatile变量在各个线程的工作内存中不存在一致性问题(在各个线程的工作内存中,volatile变量也可以 阅读全文

posted @ 2020-03-04 17:53 cag2050 阅读(177) 评论(0) 推荐(0)

Java 内存模型,在并发过程中如何处理原子性、可见性和有序性这3个特性?

摘要: 特性 | 概念 | 实现此特性的解决方案 | | 原子性(Atomicity)| 由Java内存模型来直接保证的原子性变量操作包括read、load、assign、use、store和write,我们大致可以认为基本数据类型的访问读写是具备原子性的(例外就是long和double的非原子性协定,读者 阅读全文

posted @ 2020-03-04 14:22 cag2050 阅读(261) 评论(0) 推荐(0)

ThreadLocal:一个变量要被某个线程独享

摘要: Java语言中,如果一个变量要被多线程访问,可以使用volatile关键字声明它为“易变的”; 如果一个变量要被某个线程独享,Java中就没有类似C++中__declspec(thread)这样的关键字,不过还是可以通过java.lang.ThreadLocal类来实现线程本地存储的功能。每一个线程 阅读全文

posted @ 2020-03-04 13:21 cag2050 阅读(566) 评论(0) 推荐(0)

slf4j 从多个日志实现中,绑定一个具体的日志,原理解析

摘要: 参考 | 网址 | Java日志框架:slf4j作用及其实现原理 | https://www.cnblogs.com/xrq730/p/8619156.html 阅读全文

posted @ 2020-03-04 11:32 cag2050 阅读(510) 评论(0) 推荐(0)

使用场景:final、volatile、ThreadLocal、synchronized、Atomic(自己整理)

摘要: 锁 | 原理 | 使用场景 | | final | 实现了Java内存模型的可见性 | 一个变量要被多个线程访问 volatile | 实现了Java内存模型的可见性、有序性 | 一个变量要被多个线程访问 ThreadLocal | 如果一个变量要被某个线程独享,Java中就没有类似C++中__de 阅读全文

posted @ 2020-03-04 11:03 cag2050 阅读(303) 评论(0) 推荐(0)

2020年3月3日

锁的粒度:ThreadLocal、volatile、Atomic 和 Synchronized

摘要: 出处:https://blog.csdn.net/hhx0626/article/details/53997757 阅读全文

posted @ 2020-03-03 14:13 cag2050 阅读(167) 评论(0) 推荐(0)

@RequestMapping,如果不配置 method, 则以任何请求形式 RequestMethod.GET, RequestMethod.POST, RequestMethod.PUT, RequestMethod.DELETE 等都可以访问得到

摘要: `@RequestMapping(value = "/userInfo", method = {RequestMethod.POST,RequestMethod.GET})` 一般指定具体的 method,方便在 swagger ui.html 进行调试。 阅读全文

posted @ 2020-03-03 11:41 cag2050 阅读(2893) 评论(0) 推荐(0)

2020年3月1日

可作为 GC Roots 的对象,详见书籍《深入理解Java虚拟机(第3版)》第70页

摘要: 可作为 GC Roots 的对象,详见书籍《深入理解Java虚拟机(第3版)》第70页 阅读全文

posted @ 2020-03-01 23:40 cag2050 阅读(163) 评论(0) 推荐(0)

Partial GC、Minor GC/Young GC、Major GC/Old GC、Mixed GC、Full GC 的含义

摘要: 部分收集(Partial GC):指目标不是完整收集整个Java堆的垃圾收集,其中又分为: 1. 新生代收集(Minor GC/Young GC):指目标只是新生代的垃圾收集。 2. 老年代收集(Major GC/Old GC):指目标只是老年代的垃圾收集。目前只有CMS收集器会有单独收集老年代的行 阅读全文

posted @ 2020-03-01 21:12 cag2050 阅读(1046) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 34 下一页

导航