Java
chavinchen
肩挑凡事,拳握初心~
展开
-
【J2EE】JavaWeb开发环境.Eclipse
写Java不用IDE....实在不敢想象,除非你在搞比赛或者初学,做Web项目还是图速度吧还是老规矩,图文并茂的教程以及所涉及资源均在网盘有下载,下载链接在文章脚 简单总结一下java8+eclipse+tomcat8配置实验环境:win7_X64apache-tomcat-8.0.33-windows-x64.zipeclipse-jee-mars-2-win3...原创 2016-05-03 20:49:56 · 5727 阅读 · 0 评论 -
【Android】探索org.json.JSONObject解析Long数据丢失精度问题
以下所指的JSONObject均为org.json.JSONObject;get系方法和opt系方法区别get系方法在key不存在时候会抛受检异常(JSONException)opt系方法在key不存在时候会返回默认值源码: 这里nameValuePairs类型为LinkedHashMap。getLong或optLong可能导致的长整型精度丢失通过源码可知, 不...原创 2018-06-13 11:06:09 · 1558 阅读 · 0 评论 -
【多线程】二、线程优先级&守护线程
对于执行大量并行任务, 使用线程池: 1. 可减少创建和销毁线程上的消耗和”切换过度”; 2. 同时避免大量创建线程耗尽内存;建议通过ThreadPoolExecutor而不是Executors创建线程池; 原因如下 1. FixedThreadPool,SingleThreadPool 可能导致积压大量请求(Integer.MAX_VALUE) 2....原创 2018-12-23 19:13:53 · 349 阅读 · 0 评论 -
【多线程】一、线程状态切换
Hanlder机制相关用途说明MessageQueue消息队列容器单链表实现(1)enqueueMessage:添加消息必要时唤醒next(2)next:读取消息,无消息时阻塞Looper消息循环读取器(1)Looper.prepare():创建MessageQueue(2)Looper.loop():启动无限循环调MessageQueue.next()若返回...原创 2018-12-23 19:12:19 · 670 阅读 · 2 评论 -
【多线程】四、线程异常抓捕
异常处理路径Created with Raphaël 2.2.0Try-Catch链线程处理器线程组处理器父线程组处理器全局处理器系统层(不处理ThreadDeath)UncaughtExceptionHandler handler;// 为线程设置处理器thread.setUncaughtExceptionHandler(handler);// 使用线程组创建线程ThreadGr...原创 2018-12-23 19:14:56 · 269 阅读 · 0 评论 -
【多线程】五、线程池
线程池为解决频繁线程创建、销毁带来的不必要损耗,推荐使用线程池。ThreadPoolExecutor( corePoolSize, // 核心线程数,核心线程一直存活(即使空闲,除非allowCoreThreadTimeout(true)) maximumPoolSize, // 最大线程数 keepAliveTime, // 非核心线程闲置时长,超时线程会被回收 timeUnit, ...原创 2018-12-23 19:15:33 · 311 阅读 · 0 评论 -
【多线程】六、锁与同步
锁与同步锁定的代码块在多线程访问的时候以串行的方式执行,可以保证可见性、有序性、原子性概念含义可见性每个线程有自己的内存缓存,其他线程缓存在本线程中不可见原子性对于非单一的指令,要么都执行,要么都不执行有序性编译优化对指令进行重排序,只保证重排序的结果和没排序的结果一致(happens-before规则)Lock和ConditionReentran...原创 2018-12-23 19:16:16 · 238 阅读 · 0 评论 -
【多线程】七、阻塞队列
BlockingQueue非阻塞方法:boolean offer(e[,timeout, timeUnit]); // 添加,失败返回false;E poll([timeout, timeUnit]); // 取出,失败返回null阻塞线程方法:put(e); // 添加,若空间不足则阻塞直到添加成功E take(); // 取出,若为空则阻塞直到有数据int drainTo(co...原创 2018-12-23 19:16:51 · 290 阅读 · 0 评论 -
【多线程】八、异步计算结果获取
竞争分量为解决大量线程竞争问题, 子线程基于分量计算(分量在单线程模型上保证原子性),计算完毕后合并分量取结果;// Adder: LongAdder, DoubleAdder// Accumulator: LongAccumulator, DoubleAccumulator// 初始化LongAdder adder = new LongAdder();LongAccumulator...原创 2018-12-23 19:17:08 · 371 阅读 · 0 评论 -
【多线程】九、Android异步任务
Handler机制相关用途说明MessageQueue消息队列容器单链表实现(1)enqueueMessage:添加消息必要时唤醒next(2)next:读取消息,无消息时阻塞Looper消息循环读取器(1)Looper.prepare():创建MessageQueue(2)Looper.loop():启动无限循环调MessageQueue.next()若返回...原创 2018-12-23 19:18:47 · 240 阅读 · 0 评论 -
【Android】单例模式的推荐写法
单例如果考虑性能问题, 一般会选择懒汉式延迟加载这里记录一下线程安全的单例写法写法一public class MySingleton { private static volatile MySingleton sInstance; // 防止指令乱序 private MySingleton() {} public static MySingleton...原创 2018-05-10 17:25:55 · 344 阅读 · 0 评论 -
【多线程】三、线程访问变量
进程与线程: 进程独享内存数据,线程共享内存数据。线程依附于进程;线程与调度: 多核CPU下,线程可以真正并行,CPU数量小于线程数时则需调度; 抢占式调度:OS会剥夺线程运行权,给其他线程执行机会(时间片轮转) 协作式调度:线程只有在 被阻塞和等待时 才会失去运行权;原创 2018-12-23 19:14:19 · 429 阅读 · 0 评论 -
【J2EE】Tomcat部署环境
楼主使用的是Ubuntu服务器,网上坑逼真多,第一次做JavaEE项目,部署了N久,汗~首先看看大致思路:首先你得会一些shell和vim(或者是其他可以利用的编辑工具)工具 联网的linux服务器一台;(联网可以省去很多步骤,最简单)安装jdk(我这里使用jdk1.8)安装tomcat(我这里使用tomcat7)部署项目(用了工具eclipse) 第一步: 添加软...原创 2016-10-17 18:01:10 · 846 阅读 · 0 评论 -
【UML】开发常用图记录
挑了几个UML常用图,整理一下,方便自己查询多半是应付设计师考试的,考试专用不喜可踩勿喷; 类图示例类图:实现: 类实现接口 , [表现] implements泛化: 类继承类 , [表现] extends组合: 特殊的关联关系, 是整体与部分的关系, 部分与整体同生命周期, [表现] 成员变量聚合: 特殊的关联关系, 是整体与部分的关系, 部分与整体不同生命周期, [...原创 2016-11-09 13:34:02 · 6980 阅读 · 0 评论 -
【题解】网易秋招编程题.2017
1. 如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。现在给出一个数字序列,允许使用一种转换操作:选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之前的位...原创 2016-11-29 01:21:30 · 1008 阅读 · 0 评论 -
【题解】小码哥杯(原甲骨文杯)A组初赛编程题.2016
这次关于线程的题目得比较多,总的来说还是比较水,初赛嘛废话不多说,上题!倒数第三题:题目大意是要求编写一个类,能够对数组,或者集合中的元素实现字符串格式化,方法原型: public <T> String join(T[] ts, String delimiter)public <T> String join(Collection<T>...原创 2016-11-13 15:34:48 · 1488 阅读 · 0 评论 -
【前端】H5+Servlet文件上传
记录一下,供大家参考供自己备用,原生开发爱好,框架什么的都是浮云!index.html : 测试环境 google chrome <!DOCTYPE html><html><head> <meta charset="utf-8"> <title>标题</title></head&a原创 2017-01-11 00:49:10 · 6111 阅读 · 0 评论 -
【网络】Tomcat+Websocket通信尝试
直接上代码chat.html <!DOCTYPE html><html><head> <meta charset="utf-8"> <title>点对点聊天</title> <link type="text/css" rel="stylesheet&quo原创 2017-01-11 16:47:18 · 3927 阅读 · 2 评论 -
【设计模式】初探设计模式
经典设计模式:1. 创建型单例模式(Singleton)工厂模式(Factory)生成器模式(Builder)原型模式(Prototype)2.结构型:适配器模式(Adapter)桥接模式(Bridge)组合模式(Composite)装饰器模式(Decorator)门面模式(Facade)享元模式(Flyweight)代理模式(Proxy)3.行为型:职责链模式(Ch...原创 2016-07-09 18:24:46 · 585 阅读 · 0 评论 -
【Java】Java 连接SQLServer 2012
SQLServer准备:1.右击数据库打开属性2.安全性--SQL身份和Windows验证3.在数据登录名sa,选择属性 更改密码:比如1234564.打开配置管理器:启用TCP/IP 和Names pipes协议5.重启服务至此数据库配置结束!接下来: 第一步. 配置ODBC数据源配置ODBC:控制面板-----管理工具-----数据...原创 2016-04-23 14:59:00 · 6881 阅读 · 2 评论 -
【多线程】基于CAS分析对ABA问题解决方案的一点思考
一、CAS背景synchronized加锁消耗太大volatile只保证可见性,不保证原子性基础用CPU提供的特殊指令,可以:自动更新共享数据;能检测到是否有其他线程的干扰;CAS(Compare and Swap)不加锁而是尝试去完成替换(写)操作,如果失败就重试,直到成功;分析// AtomicIntegerpublic class AtomicInteger ex...原创 2019-01-26 16:30:50 · 362 阅读 · 2 评论