一.饿汉式 缺点:不能懒加载 // 不能懒加载 public class SingletonObject1 { private static final SingletonObject1 instance = new SingletonObject1(); private SingletonObject1(){ } public static SingletonObject1 getInstance(){ return instance; } } 二.懒汉式(线程不安全) public clas…
PS:不得不说Java编程思想这本书是真心强大.. 学习内容: 1.HashMap<K,V>在多线程的情况下出现的死循环现象   当初学Java的时候只是知道HashMap<K,V>在并发的情况下使用的话,会出现线程安全问题,但是一直都没有进行深入的研究,也是最近实验室的徒弟在问起这个问题的原因之后,才开始进行了一个深入的研究.   那么这一章也就仅仅针对这个问题来说一下,至于如何使用HashMap这个东西,也就不进行介绍了.在面对这个问题之前,我们先看一下HashMap<K…
Add时出错 错误信息: Index was outside the bounds of the array. 详细信息: at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at ****.GetEnumDescription(Enum value) at ****.Page_Load(Object sender, EventArgs e) at System.Web.Ut…
1.多线程put操作后,get操作导致死循环. 2.多线程put非null元素后,get操作得到null值. 3.多线程put操作,导致元素丢失. 死循环场景重现 下面我用一段简单的DEMO模拟HashMap死循环: 1 public class Test extends Thread 2 { 3 static HashMap<Integer, Integer> map = new HashMap<Integer, Integer>(2); 4 static AtomicInteg…
懒汉模式和饿汉模式: public class Demo { //private static Single single = new Single();//饿汉模式 private static Single single2 = null;//饿汉模式 public Demo() { if (single2 == null) {//1 single2 = new Single();//2 } } } 在多线程环境下,代码1和代码2之间,这里会有线程安全问题,线程A和线程B同时到代码1和代码2之…
不要用GUID 当主键 没有规律 可以用雪花ID DBA 优化法则 硬件资源是根本,DBA是为了充分利用硬件资源 一般清空下可以不使用外键 可以提高性能 合理使用临时表 临时表分页; 一些查询语句加with(nolock)注意经常发生叶分裂容易造成重复读和跳读: 合理添加索引: 好的where条件: HashJoin>MergerJoin>NestedLoopJoin; 连接查询尽量选择聚集索引字段上: 一.创建索引 1. 要尽量避免全表扫描,首先应考虑在 where 及 order by 涉…
1.问题描述 在使用net-snmp对交换机进行扫描的时候经常会出现进程假死的情况(就是进程并没有死掉,但是看不到它与外界进行任何的数据交互).这时候不知道进程内部发生了什么,虽然有日志信息,但进程已经很长时间没有动静,根本不知道这段时间做了什么.用gdb att进去发现,进行snmp发送的线程已经被阻塞了.但是阻塞的情况并不是每次都发生,而是经常发生,这就导致很难捕捉问题.通过观察日志和 tcpdump 抓包,发现这种情况只在v3版本的时候出现,那就是v3版本有什么特别的地方. 2.调试跟踪…
首先声明一点,springboot获取资源文件,需要看是 1>从spring boot默认的application.properties资源文件中获取 2>还是从自定义的资源文件中获取 带着这个想法去看下面几种方式 =============================================================================================== 1>从spring boot默认的application.properties资源文…
C#多线程环境下调用 HttpWebRequest 并发连接限制 .net 的 HttpWebRequest 或者 WebClient 在多线程情况下存在并发连接限制,这个限制在桌面操作系统如 windows xp , windows 7 下默认是2,在服务器操作系统上默认为10. 如果不修改这个并发连接限制,那么客户端同时可以建立的 http 连接数就只有2个或10个.对于一些诸如浏览器或网络蜘蛛的应用,2个或10个并发数量实在太少,大大影响应用的性能.之所以有这个并发连接限制,是因为 htt…
.net 的 HttpWebRequest 或者 WebClient 在多线程情况下存在并发连接限制,这个限制在桌面操作系统如 windows xp , windows  7 下默认是2,在服务器操作系统上默认为10. 如果不修改这个并发连接限制,那么客户端同时可以建立的 http 连接数就只有2个或10个.对于一些诸如浏览器或网络蜘蛛的应用,2个或10个并发数量实在太少,大大影响应用的性能.之所以有这个并发连接限制,是因为 http 1.0 和 http 1.1 标准规定并发连接数最大为2.…
.net 的 HttpWebRequest 或者 WebClient 在多线程情况下存在并发连接限制,这个限制在桌面操作系统如 windows xp , windows  7 下默认是2,在服务器操作系统上默认为10. 如果不修改这个并发连接限制,那么客户端同时可以建立的 http 连接数就只有2个或10个.对于一些诸如浏览器或网络蜘蛛的应用,2个或10个并发数量实在太少,大大影响应用的性能.之所以有这个并发连接限制,是因为 http 1.0 和 http 1.1 标准规定并发连接数最大为2.…
.net 的 HttpWebRequest 或者 WebClient 在多线程情况下存在并发连接限制,这个限制在桌面操作系统如 windows xp , windows  7 下默认是2,在服务器操作系统上默认为10. 如果不修改这个并发连接限制,那么客户端同时可以建立的 http 连接数就只有2个或10个.对于一些诸如浏览器或网络蜘蛛的应用,2个或10个并发数量实在太少,大大影响应用的性能.之所以有这个并发连接限制,是因为 http 1.0 和 http 1.1 标准规定并发连接数最大为2.…
lnmp环境 gdb  /usr/local/php5.2/bin/php-cgi  /tmp/coredump-php-cgi.20503 source /home/tmp/lnmp1.4-full/src/php-5.2.17/.gdbinit zbacktrace [root@iZ28cm0353dZ ~]# gdb /usr/local/php5.2/bin/php-cgi /tmp/coredump-php-cgi.20503GNU gdb (GDB) Red Hat Enterpri…
.net 的 HttpWebRequest 或者 WebClient 在多线程情况下存在并发连接限制,这个限制在桌面操作系统如 windows xp , windows 7 下默认是2,在服务器操作系统上默认为10. 如果不修改这个并发连接限制,那么客户端同时可以建立的 http 连接数就只有2个或10个.对于一些诸如浏览器或网络蜘蛛的应用,2个或10个并发数量实在太少,大大影响应用的性能.之所以有这个并发连接限制,是因为 http 1.0 和 http 1.1 标准规定并发连接数最大为2. 不…
python多线程情况下,print输出会出现丢失的情况,而logging模块的日志输出不会. 以下是示例代码,多运行几次就会发现这个有意思的现象 # coding:utf-8 import threading import time import logging def action(arg): time.sleep(1) logging.info('sub thread start!the thread name is:%s\r' % threading.currentThread().ge…
ArrayList 不是线程安全的,这点很多人都知道,但是线程不安全的原因及表现,怎么在多线程情况下使用ArrayList,可能不是很清楚,这里总结一下. 1. 源码分析 查看 ArrayList 的 add 操作源码如下: /** * Appends the specified element to the end of this list. * * @param e element to be appended to this list * @return <tt>true</tt&…
转载请注明出处:http://cantellow.iteye.com/blog/838473 第一种(懒汉,线程不安全): public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return inst…
单例模式的思想 想整理一些 java 并发相关的知识,不知道从哪开始,想起了单例模式中要考虑的线程安全,就从单例模式开始吧. 以前写过单例模式,这里再重新汇总补充整理一下,单例模式的多种实现. 单例模式那件小事,看了你不会后悔 单例模式不是一件小事,快回来看看 之前在第一篇文章说,单例模式的主要思想是: 将构造方法私有化( 声明为 private ),这样外界不能随意 new 出新的实例对象: 声明一个私有的静态的实例对象,供外界使用: 提供一个公开的方法,让外界获得该类的实例对象 这种说法看上…
在前面一系列文章中,我们可以看到微信自定义菜单的重要性,可以说微信公众号账号中,菜单是用户的第一印象,我们要规划好这些菜单的内容,布局等信息.根据微信菜单的定义,我们可以看到,一般菜单主要分为两种,一种是普通的Url菜单(类型为View的菜单),一种是事件菜单(类型为Click的菜单),一般情况下,微信的Url菜单,是无法获得用户的任何信息的,但微信用户信息非常重要,因此也提供了另外一种方式(类似重定向的方式)来给我们使用,本篇主要介绍这种重新定向的方式菜单的使用,以使我们能够尽可能和用户进行交…
java中实现多线程的方法有两种:继承Thread类和实现runnable接口. 1.继承Thread类,重写父类run()方法 public class thread1 extends Thread { public void run() { for (int i = 0; i < 10000; i++) { System.out.println("我是线程"+this.getId()); } } public static void main(String[] args) {…
原文网址:http://orgcent.com/android-edittext-ems-layout-minwidth-maxheight/ EditText大小的设置有多种方式,要想对每种方式运用自如必须熟练掌握它们.下面将对其详细描述: 1.layout_width和layout_heightlayout_width告诉父容器EditText需要的宽度,layout_height则设置需要的高度.单位建议为dp,关于Android中单位转换问题可以参考Android根据分辨率进行单位转换-…
Android数据加密概述及多种加密方式 聊天记录及账户加密 提供高质量的数据保护 数据加密又称password学,它是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文.而解密则是通过解密算法和解密密钥将密文恢复为明文.数据加密眼下仍是计算机系统对信息进行保护的一种最可靠的办法.它利用password技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用. 一.概述 数据加密是指通过加密算法和加密密钥将明文转变为密文.而解密则是通过解密算法和解密密钥将密文恢复为明文.它产生的…
[思路/技术]Mimikatz的多种攻击方式以及防御方式 https://bbs.ichunqiu.com/thread-53954-1-1.html 之前学习过 抄密码 没想到还有这么多功能.   挖低危的清风i春秋作家 发表于 7 天前01372 本帖最后由 春风得意水先知 于 2019-9-25 23:50 编辑 Mimikatz的多种攻击方式以及防御方式 Mimikatz的简介:     Mimikatz为法国人Benjamin Delpy编写的一款轻量级的调试工具,在内网渗透过程中,它…
性能测试设计混合场景,一般有几种方式,分别是每个场景设置一个线程组,使用if控制器,使用吞吐量控制器.不同的方式实现机制不一样,哪种方式相比而言更好呢?下面做一比较. 下面以混合访问百度首页和必应首页作为测试场景,访问预设为1:3. 一.多个线程组 操作步骤: 1.Jmeter上创建一个测试计划: 2.计划下添加3个线程组,分别是对业务场景A.业务场景B.业务场景C: 3.假设3个场景混合并发的比例为4:4:2,则可以在3个线程组分别设置4.4.2,或者设置为40.40.20总并发量为100,只…
华为应用内支付服务是直接在应用程序内提供购买商品或订阅等功能,为了能够让开发者更好的了解应用内的销售额及商品购买.订阅的市场收益效果,华为应用内支付服务提供的消费数据统计和数据报表,支持多种细分方式浏览,开发者可借助管理中心,查看一段时间内会员或游戏装备等多种商品销售额及流水,并且这些财务数据会基于服务站点所在地的市区进行统计,每天更新. 如何查看您想要的数据? Ø 概览页 在 AppGallery Connect 首页,点击"分析".从列表中选择您的应用,进入"运营分析&q…
ASP.NET Core的请求处理管道由一个服务器和一组中间件组成,位于 "龙头" 的服务器负责请求的监听.接收.分发和最终的响应,针对请求的处理由后续的中间件来完成.中间件最终体现为一个Func<RequestDelegate, RequestDelegate>委托,但是我们具有不同的定义和注册方式.(本篇提供的实例已经汇总到<ASP.NET Core 6框架揭秘-实例演示版>) [S1505]以Func<RequestDelegate, Request…
你好呀,我是歪歪. 前段时间在 RocketMQ 的 ISSUE 里面冲浪的时候,看到一个 pr,虽说是在 RocketMQ 的地盘上发现的,但是这个玩意吧,其实和 RocketMQ 没有任何关系. 纯纯的就是 JDK 的一个 BUG. 我先问你一个问题:LinkedBlockingQueue 这个玩意是线程安全的吗? 这都是老八股文了,你要是不能脱口而出,应该是要挨板子的. 答案是:是线程安全的,因为有这两把锁的存在. 但是在 RocketMQ 的某个场景下,居然稳定复现了 LinkedBlo…
哎~~ 想想大部分园友应该对 "高性能" 字样更感兴趣,为了吸引眼球所以标题中一定要突出,其实我更喜欢的标题是<猴赛雷,C#编写TCP服务的花样姿势!>. 本篇文章的主旨是使用 .NET/C# 实现 TCP 高性能服务的不同方式,包括但不限于如下内容: APM 方式,即 Asynchronous Programming Model TAP 方式,即 Task-based Asynchronous Pattern SAEA 方式,即 SocketAsyncEventArgs…
一.Bean作用域 spring容器创建的时候,会将所有配置的bean对象创建出来,默认bean都是单例的.代码通过getBean()方法从容器获取指定的bean实例,容器首先会调用Bean类的无参构造器,创建实例对象 那么?我们如何说明出bean是单例的呢? 构建出两份学生对象,执行,发现两个对象的内存地址相同,内存中只有一份 如何使它成为多例的呢?那么则需要在配置文件中添加scope="prototype"该属性即可! scope="prototype" 原型模…
刚开始接触开关样式的按钮是在IOS系统上面,它的切换以及滑动十分帅气,深入人心. 所谓的开关按钮,就是只有2个状态:on和off,下图就是系统IOS 7上开关按钮效果. 起初我在android上我只会使用CheckBox去满足对应的功能.后来,查看开发文档发现,android也有了自己的原生态开关控件,并且在4.0版本中又优化加入了新的类似控件--Switch控件,以及使用起来十分简单的ToggleButton,可是它们只是带有切换效果,而不带有滑动切换效果,并且Switch控件只支持高版本的系…