配置好kotlin有些关键词仍报错

当项目配置好kotlin之后,一些关键字比如let,lazy等在报错.\ 看看项目的build.gradle中 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 是否与当前Android Studio是同一版本,如果不是,那么会有警告,不是的话就需要更新koltin插件了. 插件下载一般很慢,以下是下...
分类: 其他 发布时间: 09-21 23:51 阅读次数: 0

从源码角度彻底搞懂String、StringBuffer、StringBuilder

*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 从源码角度彻底分析三者底层实现.第一次写源码分析,小记一笔,由于本人才疏学浅,有很多地方可能存在误解和不足,还望大家在评论区批评指正. 一、引言 学Java很久了,一直处于使用API+查API的状态,不了解原理,久而久之总是觉得很虚,作为一名合格的程序员这是不允许的,不能一直当API Player,我们要去了解分析...
分类: 其他 发布时间: 09-21 23:51 阅读次数: 0

从源码角度彻底搞懂ArrayList

*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 欣赏我们常用集合ArrayList的源码,学习API背后的故事. 引言 学Java很久了,一直处于使用API+查API的状态,不了解原理,久而久之总是觉得很虚,作为一名合格的程序员这是不允许的,不能一直当API Player,我们要去了解分析底层实现,下次在使用时才能知己知彼.知道在什么时候该用什么方法和什么类比较...
分类: 其他 发布时间: 09-21 23:51 阅读次数: 0

Android 未root查看ANR异常

有时候APP不抛出错误,但是会抛出ANR。 一般我们的APP出现ANR后会将ANR信息保存到/data/anr/traces.txt里面。在系统里面配置环境变量:adb,然后打开命令行,输入方式1: cd data/ 进入data目录 cd anr/ 进入anr目录 ls 可以看到之前产生的traces.txt文件 cat traces.txt 查看文件内容,当然也可以push到电脑上慢
分类: 其他 发布时间: 09-21 23:50 阅读次数: 0

从源码角度彻底搞懂LinkedList

LinkedList源码赏析 一、概述 LinkedList,相对于ArrayList,大家可能平时使用LinkedList要少一些,其实有时候使用LinkedList比ArrayList效率高很多,当然,这得视情况而定。 本文将带大家深入LinkedList源码,分析其背后的实现原理,以便以后在合适的情况下进行使用。 之前我所知道的LinkedList的知识: Lin...
分类: 其他 发布时间: 09-21 23:50 阅读次数: 0

Android-skin-support 换肤原理全面解析

一.背景 二.AppCompatActivity实现 三.Android创建View全过程解析 四.换肤原理详细解析 1.上文预备知识与换肤的关系 2.源码一,创建控件全过程 3. 源码二,从皮肤包加载皮肤 4.简单总结一下原理(本文精髓) 一.背景 公司业务上需要用到换肤.为了不重复造轮子,并且快速实现需求,并且求稳,,于是到Github上找了一个star数比较多的...
分类: 其他 发布时间: 09-21 23:50 阅读次数: 0

注解学习

注解是java1.5引入的,比如@Override,@Deprecated等都是比较常见的注解,Java程序员在日常开发中注解使用广泛. 一.什么是注解 下面简单看下Java官方定义的注解,其中有些东西可能没见过,不过没关系,下面会讲. @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public @i...
分类: 其他 发布时间: 09-21 23:50 阅读次数: 0

国内用户无法使用TikTok(国外版抖音)的解决方案

首先,我是不推荐程序员使用这个东西的,毕竟很浪费时间.我平时比较忙,也是没时间玩这些. 1. 背景 娱乐娱乐也是可以,但不要沉迷其中.我们可以从这款产品中学习它的优点. 无独有偶,那天忽然在Google Play上看到这玩意儿TikTok(国外版抖音),准备下载下来欣赏欣赏(同时可以学习学习英语),和国内的有什么不同.因为国内版的抖音,想必使用的都知道,同质化、恶趣味、炫富等等,没意思....
分类: 其他 发布时间: 09-21 23:49 阅读次数: 0

浅析Java的深拷贝和浅拷贝.md

文章目录浅析Java的深拷贝和浅拷贝1. 浅拷贝2. 深拷贝3. 总结 浅析Java的深拷贝和浅拷贝 首先来看看浅拷贝和深拷贝的定义: 浅拷贝:使用一个已知实例对新创建实例的成员变量逐个赋值,这个方式被称为浅拷贝。 深拷贝:当一个类的拷贝构造方法,不仅要复制对象的所有非引用成员变量值,还要为引用类型的成员变量创建新的实例,并且初始化为形式参数实例值。这个方式称为深拷贝 1. 浅拷贝 写一个普通类P...
分类: 其他 发布时间: 09-21 23:49 阅读次数: 0

Android JNI初识 HelloWorld

以前学过一点JNI,很久没用,然后又忘了,复习一下. 一.NDK是什么 原生开发工具包 (NDK) 是一组可让您在 Android 应用中利用 C 和 C++ 代码的工具。 可用以从您自己的源代码构建,或者利用现有的预构建库 NDK使用场景 NDK会不可避免的增加开发过程的复杂性,通常是不建议使用的. 从设备获取卓越性能以用于计算密集型应用,例如游戏或物理模拟。 重复使用您自己或其他开发...
分类: 其他 发布时间: 09-21 23:49 阅读次数: 0

JavaScript数据类型入门必看

Javascript中有5种简单数据类型:Undefined、Null、Boolean、Number和String。还有一种复杂数据类型——Object。Javascript不支持任何创建自定义类型的机制,所有值都成为以上6中数据类型之一。typeof操作符typeof操作符是用来检测变量的数据类型。对于值或变量使用typeof操作符会返回如下字符串。字符串描述undefined未定义boolea...
分类: 其他 发布时间: 09-21 23:48 阅读次数: 0

JavaScript中Function类型解析

在ECMAScript中,Function(函数)类型实际上是对象。每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针。 一.函数的声明方式1.普通的函数声明function box(num1, num2) {       return num1+num2;} 2.使用变量初始化函数var box= funct...
分类: 其他 发布时间: 09-21 23:48 阅读次数: 0

用Ajax写一个带模态框的增删改查

今天给大家讲如何用Ajax做增删改查。基本操作先写HTML和CSS.<body> <table> <tr style="background: #F2F7FF;"> <td colspan="4"> <button class="add" style="width: 200px;back
分类: 其他 发布时间: 09-21 23:48 阅读次数: 0

Ajax 异步与服务端交换数据

Ajax异步与同步有什么不同? 首先我们来思考一个问题 什么是同步? 传统提交表单的方式都是同步提交的,表单必须要有name属性,发生页面跳转 <body> <div class="container"> <form method="post" action="api/form.php"> <div class="
分类: 其他 发布时间: 09-21 23:47 阅读次数: 0

有趣好玩的canvas

首先我们来了解一下canvas canvas是HTML5中新增的一个元素,专门用来绘制图形。在页面放置一个canvas元素,就相当于放置了一个画布,可以在其中进行图形的绘制。  但绘制图形,并不是指使用鼠标作画,而是需要javascript进行配合。创建canvas的时候,他默认的宽高为300px*150px。 <canvas id="canvas">我是一个画布</ca...
分类: 其他 发布时间: 09-21 23:47 阅读次数: 0

查看模型保存的有name参数

# checkpoint_dir下有四个files:meta, index, data, checkpoint checkpoint_dir = './save/checkpoint' reader = tf.train.NewCheckPointReader(checkpoint_dir+'/model-init') variables = reader.get_variable_to_sh...
分类: 其他 发布时间: 09-21 23:47 阅读次数: 0

PL/SQL块

 PL/SQL块有三个部分: 定义变量 执行部分 异常处理 代码: /* *写一个PL/SQL块去实现根据员工编号显示员工姓名和工资 * */ declare --定义变量 v_ename emp.ename%type; v_sal emp.sal%type; begin --执行部分 select emp.ename,emp.sal into v_ename,v_sal fro...
分类: 其他 发布时间: 09-21 23:46 阅读次数: 0

PL/SQL函数

1. 创建函数 create or replace function ch_fun(chName varchar2) return number is --定义变量 yearSal number(7,2); begin --执行部分 select sal*12+nvl(comm,0)*12 into yearSal from emp where ename=chName; retu...
分类: 其他 发布时间: 09-21 23:46 阅读次数: 0

PL/SQL包

1. 创建一个包 --1. 创建一个包 create or replace package ch_package is --过程或函数声明 procedure my_pro(chName varchar2); function my_fun(chName varchar2) return number; end; 2. 创建包体 --2. 创建包体 create or replace p...
分类: 其他 发布时间: 09-21 23:46 阅读次数: 0

复合变量【PL/SQL】

1. PL/SQL记录(相当于高级语言中的结构体) declare --定义记录类型 type emp_record_type is record( ename emp.ename%type, salary emp.sal%type, title emp.job%type); --定义变量 ch_record emp_record_type; begin --执行部分 select...
分类: 其他 发布时间: 09-21 23:46 阅读次数: 0