toArray指定的容量和效率关系
我将于茫茫人海中访我唯一灵魂之伴侣;得之,我幸;不得,我命,如此而已。——徐志摩 分享一篇 12345678910111213141516171819202122232425262728private static final int COUNT = 100 * 100 * 100;private static void timeCost() { List<Double> list = new ArrayList<>(COUNT); for (int i = 0; i < COUNT; i++) { list.add(i * 1.0); } long start = System.nanoTime(); Double[] notEnoughArray = new Double[COUNT - 1]; list.toArray(notEnoughArray); long middle1 = System.nanoTime(); Double[] equalA...
一篇,让你会写原生ajax
在这个社会转型期,最大的悲剧不是坏人的嚣张,而是好人的过度沉默。——马丁·路德·金 非常简单啦~ 大家可以拿去任意定制,比如请求方式使用参数传入、指定参数类型、调用时控制是否同步等 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109var Ajax = { /** * get参数格式化,转换对象成url方式 * @param data 对象 转换前: {"username":"ruben","password":"achao"} * @returns &...
alibabaFastJson之json转指定List
有一种健忘是高贵的,就是不记旧恶。——赛蒙兹 之前写了篇fastjson基本使用,这两天遇到一个意料之外的 需要把一个json的数组对象,转换成指定的List<User> 转换方式很简单 {“code”:200,”userList”:[{“password”:”achao”,”username”:”ruben”}],”data”:”操作成功!”,”list”:[“你好”,”加油”],”success”:true} 1234JSONObject jsonObject = JSON.parseObject(jsonString);String userListString = jsonObject.getString("userList");List<User> userList = JSON.parseArray(userListString, User.class);userList.forEach(System.out::println); 打印结果
idea配置文件迁移
人表达的永远不是他所说的内容,而是渴望被理解的心情。——苏更生 最近换了电脑,idea也重新装了一遍,那么之前很繁琐的配置,现在又要配置一遍吗?不!我们可以迁移配置文件~ 首先找到我们idea的配置文件目录,打开idea的安装目录 找到配置文件idea.properties打开 可以看到我们的配置文件 把原来目录上这里的两个文件复制出来,再粘贴到我们新电脑这个位置 或者修改配置文件的目录,都是可以的 别忘了把前面的#删掉哦 如果是新装idea会提示 我们选择第一个,然后选择配置文件目录,也是一样的 顺便一提,idea默认工作目录(就是项目存放路径)的设置在这
java获取当前运行类名、方法名、行号
使人疲惫的不是远方的高山,而是鞋子里的一粒沙子。——伏尔泰 转载,原文戳我 码住,这个确实感觉不错 12345678910111213141516171819202122//获取方法名:public static String getCurrentMethodName() { int level = 1; StackTraceElement[] stacks = new Throwable().getStackTrace(); String methodName = stacks[level].getMethodName(); return methodName;}//获取类名:public static String getCurrentClassName() { int level = 1; StackTraceElement[] stacks = new Throwable().getStackTrace(); String className = stacks[level].getClassNam...
idea快捷生成序列化id
人生而自由,却无往不在枷锁中。——卢梭 idea快捷生成序列化id的设置 首先放中文idea的设置方式 然后是英文的 之后我们实现Serializable接口的时候就可以直接生成版本ID啦
使用反射获取对象属性的坑
要么庸俗,要么孤独——叔本华 前两天遇到一个坑,当时我通过使用getDeclaredFields()函数获取对象属性时发现一个问题: 获取到的属性的顺序不对,结果我自己一看介绍 原来,它是无序的 所以我们为了解决这个问题 首先自定义一个注解用于制定排序规则 1234567891011121314151617181920212223242526package com.ruben.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * @ClassName: BeanFieldSort * @Description: * @Date: 2020/9/11 22:18 * * * @author: achao<achao1441470436 @ gmail.com> * @vers...
android去掉标题栏
自由不是让你想做什么就做什么,自由是教你不想做什么,就可以不做什么。——康德 在Activity里加上 123//去掉标题栏getSupportActionBar().hide();getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 注意位置是在setContentView前
安卓构建首个应用
简单介绍下目录吧 个人习惯,目录包名不折叠 查看目录 官方文档介绍: app > java > com.example.myfirstapp > MainActivity 这是主 Activity。它是应用的入口点。当您构建和运行应用时,系统会启动此 Activity 的实例并加载其布局。 app > res > layout > activity_main.xml 此 XML 文件定义了 Activity 界面的布局。它包含一个 TextView 元素,其中具有“Hello, World!”文本 app > manifests > AndroidManifest.xml 清单文件描述了应用的基本特性并定义了每个应用组件。 Gradle Scripts > build.gradle 有两个使用此名称的文件:一个针对项目“Project: My First App”,另一个针对应用模块“Module: app”。每个模块均有自己的 build.gradle 文件,但此项目当前仅有一个模块。您可以使用每个模块的 build.f...
安卓开发环境搭建
到官网下载android studio 阅读、勾选同意协议并点击下载 下载完成后打开 安装完成,打开后 创建项目 创建一个空Activity的项目 输入项目名和选择语言以及SDK版本 点击build等待下载完成 下载时间4分钟到40分钟不等甚至更久,可以去看看我其他博客回来 完成后我们点击右上角 创建虚拟机 在此之前,记得查看自己任务管理器中性能这一块是否开启了虚拟化 不得不说该换电脑了 选择一款自己喜欢的尺寸 下载 梅开二度,可以再去看一篇我的博客 完成 下一步 然后完成 启动 成功
