- 博客(1785)
- 资源 (27)
- 收藏
- 关注
转载 实用工具 提高效率
实用工具、效率办公。https://zhuanlan.zhihu.com/p/105804622原创技术知识与实用工具分享https://zhuanlan.zhihu.com/p/105804622
2021-03-25 09:33:33 131
转载 翻译:iOS 7中的自动布局教程第1部分:入门
https://www.jianshu.com/p/1d82bcc87d32本文内容:参考外文学习并使用Auto Layout,顺便翻译记录。原文 Beginning Auto Layout Tutorial in iOS 7: Part 1@Matthijs Hollemans on October 16, 2013 Beginning Auto Layout Tutorial in iOS 7: Part 2@Matthijs Hollemans on October 1...
2021-03-08 10:10:48 97
转载 自律给你自由——Android设计布局的新姿势
https://www.jianshu.com/p/38f62061c8dc自律给你自由——设计布局的新姿势在今天的文章开始之前,有个忙想请大家帮一下,希望在京东、淘宝、当当、亚马逊购买了我的书《Android群英传:神兵利器》的朋友们,帮忙去网店上给个简短的评价,举手之劳,还是多谢大家啦~~ConstraintLayout基本界面更新Android Studio 2.2之后,更新了布局设计器,同时,引人了ConstraintLayout,这一布局,旨在降低布局层级,其主要界面如下所示:
2021-03-08 09:57:57 92
转载 Java8 lambda表达式10个示例
https://www.cnblogs.com/coprince/p/8692972.html例1、用lambda表达式实现Runnable我开始使用Java 8时,首先做的就是使用lambda表达式替换匿名类,而实现Runnable接口是匿名类的最好示例。看一下Java 8之前的runnable实现方法,需要4行代码,而使用lambda表达式只需要一行代码。我们在这里做了什么呢?那就是用() -> {}代码块替代了整个匿名类。// Java 8之前:new Thread(new R
2021-01-14 21:03:54 143
转载 Java开发人员最常犯的10个错误
https://www.cnblogs.com/chenpi/p/5508949.htmlJava开发人员最常犯的10个错误Array转ArrayList 判断一个数组是否包含某个值 在循环内部删除List中的一个元素 HashTable与HashMap 使用集合原始类型(raw type) 访问级别 ArrayList和LinkedList 可变与不可变 父类和子类的构造方法 “”还是构造方法 未来工作...
2020-08-28 18:32:03 108
原创 程序员的工具库
程序员常用的软件(附下载地址)https://blog.csdn.net/HXNLYW/article/details/81235444程序员必备工具https://blog.csdn.net/scmrpu/article/details/79036668程序员必备的十个工具https://blog.csdn.net/shuaizhen/article/details/616954...
2019-01-23 14:50:11 595
转载 linux中的cp命令总结
Cp总结功能说明 :复制文件或目录 语法:cp[参数]源文件目录 目标文件或目录 该命令用于将一个或多个文件复制到目标目录 补充说明: Cp指令用在复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息
2014-03-15 18:23:22 685
转载 Spring Boot + URule 规则引擎,可视化配置太爽了!
规则引擎其实是一种组件,它可以嵌入到程序当中。将程序复杂的判断规则从业务代码中剥离出来,使得程序只需要关心自己的业务,而不需要去进行复杂的逻辑判断;简单的理解是规则接受一组输入的数据,通过预定好的规则配置,再输出一组结果。当然,市面上有很多成熟的规则引擎,如:Drools、Aviator、EasyRules等等。但是URule,它可以运行在Windows、Linux、Unix等各种类型的操作系统之上,采用纯浏览器的编辑模式,不需要安装工具,直接在浏览器上编辑规则和测试规则。
2024-01-28 21:39:53 75
转载 include could not find load file: AwsFindPackage
原文连接:https://stackoverflow.com/questions/65829295/aws-sdk-c-install-using-cmake-on-ubuntu-problem-with-installing-third-party-l。原文链接:https://blog.csdn.net/c250456789/article/details/120155169。和原来的区别只在于git clone的时候加了选项 --recurse-submodules 能够将子库也一起clone下来。
2024-01-22 17:54:34 54
原创 C++后台开发有哪些练基础的开源项目?
我告诉你一个识别 C++ 代码质量的诀窍:找几个 class,如果其 dtor 有 delete 或释放资源的操作,看看作者是否同时正确禁用了 copy ctor 和 assignment operator(或者正确实现了它们,如果 class 确实应该是 copyable 的话),这反映了作者设计 C++ class 的基本功:正确管理内存和其他资源,以及他有没有认真读过 Effective C++。此时,如果确实有需要,用户可以自己定义 copy ctor 和 operator=。
2024-01-12 21:38:13 409
转载 【c++】可调用对象(Callable Objects)
Lambda函数,又可以称为Lambda表达式或者匿名函数,在C++11中加入标准。其中:[captures]为捕获列表,用于捕获外层变量。[&]表示捕获当前范围内所有局部变量。(params)为匿名函数参数列表-> return_type指定匿名函数返回值类型}部分为函数体,包括一系列语句注意:当匿名函数没有参数时,可以省略(params)部分当匿名函数体的返回值只有一个类型或者返回值为void时,可以省略->return_type部分。
2024-01-12 21:33:54 38
转载 C++入门学习:std::function,std::bind,std::placeholders
占位符的作用就是用来代表参数的,std::placeholders::_1表示的是std::bind得到的std::function对象被调用时,传入的第一个参数,而std::placeholders::_2则是第二个参数。此外,我们也可以在std::bind的时候不用std::placeholders::_x,而直接写成固定的值,这样子调用std::function存储的对象时,对应位置的参数将是固定值。它的最基本的作用是,简化调用的复杂程度,统一调用的方式。三.std::placeholders。
2024-01-12 21:20:34 38
原创 std::make_shared std::packaged_task
【代码】std::make_shared std::packaged_task。
2024-01-10 21:18:58 393
转载 C++标准库类std::packaged_task
std::packaged_task是C++11引入的标准库类,用于封装可调用对象,如函数等,并将封装对象作为异步任务进行管理,通过与std::future结合使用,完成异步任务结果的获取。std::packaged_task将promise_string作为可调用对象进行封装,通过调用。对象移动到线程中执行异步任务。在主线程中,可以继续执行其他任务。对象是一次性的,即只能执行一次。如果需要多次执行相同的任务,需要创建多个。对象,用于获取异步任务的结果。对象移动到线程中执行,以避免不必要的拷贝。
2024-01-07 17:16:02 43
转载 解读github上流行的ThreadPool源码
偶然发现github上有个ThreadPool项目(),star数居然3k+,里面也就两个文件,一个ThreadPool.h,一个example.cpp。看了一下,项目代码是cpp11写的。老实说,代码极其简洁又难懂。下面是可以看看,有个直观印象。i
2024-01-07 14:10:41 47
转载 C/C++手撕线程池(线程池的封装和实现)
此功能是不是画蛇添足有待考证,但是若当我们的工作线程数量不稳定时,频繁调整线程池的线程数量(频繁创建及释放线程)也将导致性能的下降,这种做法理所当然地被我认为是一种本末倒置的做法,而对于线程池中线程的数量,在我做性能测试时考虑到CPU是四核的,就只在线程池中创建了4个线程。这是因为static函数为类的静态函数,当类的成员函数被static修饰后,调用该函数将不会默认传递*this指针,这也是为什么static成员函数中不能使用对象的非static属性:你*this指针都没传我上哪去找你的对象?
2024-01-07 13:41:23 37
转载 c++经验之谈一:RAII原理介绍
RAII(ResourceAcquisitionIsInitialization)是由c++之父Bjarne Stroustrup提出的,中文翻译为资源获取即初始化,他说:使用局部对象来管理资源的技术称为资源获取即初始化;这里的资源主要是指操作系统中有限的东西如内存、网络套接字等等,局部对象是指存储在栈的对象,它的生命周期是由操作系统来管理的,无需人工介入;
2024-01-07 12:23:55 37
转载 C++11互斥量mutex使用详解
mutex又称互斥量,C++ 11中与 mutex相关的类(包括锁类型)和函数都声明在#include<mutex>头文件中,所以如果你需要使用 std::mutex,就必须包含#include<mutex>头文件。std::mutex,独占的互斥量,不能递归使用。std::time_mutex,带超时的独占互斥量,不能递归使用。std::recursive_mutex,递归互斥量,不带超时功能。std::recursive_timed_mutex,带超时的递归互斥量。
2024-01-07 11:50:36 25
转载 C++11 多线程(std::thread)详解
多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。
2024-01-07 11:36:40 61
转载 C++11条件变量condition_variable详解
互斥量是多线程间同时访问某一共享变量时,保证变量可被安全访问的手段。但单靠互斥量无法实现线 程的同步。线程同步是指线程间需要按照预定的先后次序顺序进行的行为。C++11对这种行为也提供了 有力的支持,这就是条件变量。条件变量位于头文件condition_variable下。【官方说明文档】。拥有条件变量的线程获取互斥量。循环检查某个条件,如果条件不满足则阻塞直到条件满足;如果条件满足则向下执行。某个线程满足条件执行完之后调用notify_one或notify_all唤醒一个或者所有等待线程。
2024-01-07 11:14:15 16
转载 Java 中的线程池是怎样实现的?
作者:bravo1988链接:https://www.zhihu.com/question/558457760/answer/2708771354来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。要了解,必须先了解线程。
2024-01-07 08:41:38 19
转载 @Transactional注解和Mybatis缓存问题,Mybatis 查询结果 List 对List修改后再次查询,结果与数据库不一致
Transactional 应用在非 public 修饰的方法上,Transactional将会失效,当用在protected、private 修饰的方法上使用 @Transactional 注解,虽然事务无效,但不会有任何报错,这是我们很容犯错的一点。一级缓存的缺点:使用一级缓存的时候,由于缓存不能跨会话共享,不同的会话之间对于相同的数据可能有不一样的缓存。MyBatis 默认开启了一级缓存,它会缓存查询结果,导致在同一个事务内,从缓存中读取数据而不是从数据库中实际查询。
2024-01-06 21:44:10 66
转载 关于变量地址相减
a[2]-&a[1] 并不是表示简单的地址相减,而是地址之差/sizeof(type) ,即这两个变量之间相差了几个该类型的值,如果这里是&a[3]-&a[0],那么结果输出为3。如果不使用a2和a3变量的话,编译器会优化掉中间的两个变量,节省内存,与不同编译器的实现方法有关,我在Dev c++里输出的就是1,但我试了下数组,结果是3。这里我用的数组,保证地址是连续分配的,试了下非数组变量,&a1-&a2在另一台电脑上的不同编译器里输出的是2,不同编译器的实现方法不一样。这么小的东西却牵扯很多问题…
2024-01-04 21:39:11 23
转载 C++ Lambda表达式详解
Lambda表达式的语法简洁、灵活,可以捕获外部变量,并且可以作为任何需要函数对象的地方使用。Lambda表达式是c++语言的一个重要特性,它可以作为函数对象使用,可以用来替代一些繁琐的函数声明和定义。值捕获:将外部变量以const引用的方式传递到Lambda表达式中,在表达式中可以访问变量,但是不能修改变量;引用捕获:将外部变量以引用的方式传递到Lambda表达式中,在表达式中可以访问变量和修改变量;如果不需要参数,则可以省略此项。混合捕获:捕获列表捕获多个变量,既有值捕获的变量也有引用捕获的变量。
2024-01-04 20:35:12 22
转载 如何为webSocket javascript设置cookie头部?
我尝试打开一个带有kerberos认证的服务器的websocket,握手时出错(错误代码: 400);我发现无法通过web socket发送凭证,我要做的是通过web socket cookie设置用户名和密码,服务器会读取它们。那么如何为web套接字设置cookie呢?
2023-12-26 21:00:03 151
转载 一个 bug 查了两天,再解决不了,和你的代码过去吧
C++11(Modern C++)以及之后的版本提供的智能指针使用起来确实很方便,也建议你在实际的 C++ 的项目中多多使用,可以避免很多内存泄漏问题,但是前提是我们必须充分理解每一种智能指针的用法和注意事项,尤其是在和左值、右值、移动构造、std::move等特性结合使用时,需要多加小心。C++ 程序的内存崩溃问题一直是繁、难问题,出现这类问题时,不要胡乱尝试,一定要思路明确,慢慢缩小范围,本文的思路以及介绍中两种引起内存的问题,深入理解,可以帮你解决大多数内存引起的崩溃问题。
2023-12-26 13:02:21 28
转载 模板模板参数(template template parameter)
1. 模板模板参数(template template parameter)就是模板中还有模板.如下图,模板中含有一个template T, 然后 还有包含一个模板类, 模板类中的参数是用第一个T的.上图第三个框中, 第一条定义语句XCls<string, list> mylst1;
2023-12-24 15:02:57 29
转载 spring boot问题记录(1):@Component注解类无法注入Service
在util类中要使用service方法,但是加上@Component注解后,用@Autowired自动注入service会报。
2023-12-24 14:51:42 71
转载 static final、static、@PostConstruct、构造方法、@AutoWired执行的顺序
那么在这个service类中 如果存在 static final / static / @PostConstruct 修饰的变量 或者是方法 执行顺序如何?那么在项目启动的时候 执行的顺序是 (这里注意 我的静态变量是写在静态代码块上面的 其实哪个先 写 哪个先执行)在执行业务的时候 一般的流程是 调用 service来执行。1、父类静态变量和静态代码块(先声明的先执行);2、子类静态变量和静态代码块(先声明的先执行);3、父类的变量和代码块(先声明的先执行);5、子类的变量和代码块(先声明的先执行);
2023-12-24 14:49:52 25
转载 C/C++ _beginthreadex 多线程操作 - 线程同步
其中线程ID用于标识系统中的哪个线程当前拥有互斥对象,计数器用于指明该线程拥有互斥对象的次数。简单来讲,互斥对象就是,同一个内存变量,当线程一在操作他时,线程二就无法进行操作,得等到线程一不操作它了,线程二才可以进行操作它!调用成功,该函数返回所创建的互斥对象的句柄。五、线程同步 ----- 关键代码段 之 线程死锁。四、线程同步 ----- 关键代码段。一、线程同步 ----- 互斥对象。二、线程同步 ----- 事件对象。一、线程同步 ----- 互斥对象。三、线程同步 ----- 信号量。
2023-12-13 20:35:02 39
转载 CONTAINING_RECORD宏原理与使用详解
之所以pTest->a,pTest->b没有报错,是因为前面添加了取地址符&,相当于我们告诉编译器,并不是真的要取a、b的值,我们只是取a、b的地址,然鹅Test对象的地址pTest为0,根据C++对象内存布局,如下图,可知当Test对象地址为0时,实际上取到的a、b地址,也就是a、b变量相对于整个对象首地址的偏移量。该宏定义的原理,就是上一章中介绍的使用0指针获取成员偏移,然后再使用成员变量地址-成员偏移,就得到了结构体地址。offset_a为0,offset_b为4,如果你觉得很惊喜,请继续看。
2023-12-13 20:32:20 44
转载 JS中无处不在的元编程
元编程(meta programming)是一种编程技术,编写出来的计算机程序能够将其他程序作为数据来处理。意味着可以编写出这样的程序:它能够读取、生成、分析或者转换其它程序,甚至在运行时修改程序自身(反射)。元编程中的元1、运行时修改语言结构,这种现象被称为反射编程或反射;自省:代码检视自己;自我修改:代码修改自己;调解:代码修改默认的语言行为而使其他代码受影响;2、生成代码;
2023-12-13 20:10:13 39
转载 c++ template std::void_t 是个啥
先看这个问题: 下面有三种foo函数,称其为Foo0,Foo1,Foo2,请问 foo foo foo 分别匹配到了哪个函数?对于foo,因为int既没有type有没有type2,所以Foo0和Foo1都匹配失败,最终匹配到了Foo2。对于foo,因为Y没有typ,所以匹配Foo0失败,尝试匹配下一个,Y有type2,成功匹配到了Foo1。,因为X有type,第二个模板直接匹配成功,编译器会认为这是第一个模板的一个特化版本。看到了吧,虽然有的地方匹配失败了,但是编译器并不会直接报错,他会尝试去匹配其他的。
2023-12-13 19:49:47 53
sqlite可视化管理工具
2020-01-17
c# 编写activex控件 并与网页交互
2020-01-13
C++重难点总结系列.rar
2019-12-08
springboot web services例子 web服务例子
2019-11-06
SrvanyUI for windows(可注册成系统服务).zip
2019-08-29
websocket+java服务器(mina)
2019-07-27
eclipse下maven安装oracle的jdbc驱动
2019-02-20
oraclejdbc驱动
2019-02-20
SQLServer2005_BC.msi SQLServer2005及以后版本 向前 兼容 DTS等功能
2018-12-14
Delphi API HOOK 完全说明源码
2016-08-30
税控发票开票软件(税控盘版)开票组件-百旺开票组件
2015-10-31
Android美工坊--一个QQ登录验证的小例子
2012-12-11
TabHost中每个tab中放入多个Activity
2012-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人